Issue No.06 - June (2005 vol.31)
Thomas Zimmermann , IEEE
Andreas Zeller , IEEE Computer Society
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2005.72
We apply data mining to version histories in order to guide programmers along related changes: "Programmers who changed these functions also changed...." Given a set of existing changes, the mined association rules 1) suggest and predict likely further changes, 2) show up item coupling that is undetectable by program analysis, and 3) can prevent errors due to incomplete changes. After an initial change, our ROSE prototype can correctly predict further locations to be changed; the best predictive power is obtained for changes to existing software. In our evaluation based on the history of eight popular open source projects, ROSE's topmost three suggestions contained a correct location with a likelihood of more than 70 percent.
Index Terms- Programming environments/construction tools, distribution, maintenance, enhancement, configuration management, clustering, classification, association rules, data mining.
Thomas Zimmermann, Peter Weißgerber, Stephan Diehl, Andreas Zeller, "Mining Version Histories to Guide Software Changes", IEEE Transactions on Software Engineering, vol.31, no. 6, pp. 429-445, June 2005, doi:10.1109/TSE.2005.72