Mining version histories to guide software changes - Zimmermann, T.; Zeller, A.; Weissgerber, P.; Diehl, S. (IEEE transactions on software engineering, 2005)
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.