Mining version histories to guide software changes
Top Cited Papers
- 11 July 2005
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 31 (6) , 429-445
- https://doi.org/10.1109/tse.2005.72
Abstract
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.Keywords
This publication has 26 references indexed in Scilit:
- Detecting and Visualizing Refactorings from Software ArchivesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Predicting source code changes by mining change historyIEEE Transactions on Software Engineering, 2004
- How history justifies system architecture (or not)Published by Institute of Electrical and Electronics Engineers (IEEE) ,2004
- Mining the software change repository of a legacy telephony systemPublished by Institution of Engineering and Technology (IET) ,2004
- Detection of logical coupling based on product release historyPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Software evolution observations based on product release historyPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Data mining library reuse patterns using generalized association rulesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Predicting fault incidence using software change historyIEEE Transactions on Software Engineering, 2000
- Version sensitive editing: Change history as a programming toolPublished by Springer Nature ,1998
- Mining generalized association rulesFuture Generation Computer Systems, 1997