Mining Version Histories to Guide Software Changes

by Thomas Zimmermann, Peter Weißgerber, Stephan Diehl, Andreas Zeller

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.

See also: http://www.softevo.org/

Reference

Thomas Zimmermann, Peter Weißgerber, Stephan Diehl, Andreas Zeller. Mining Version Histories to Guide Software Changes. In IEEE Transactions on Software Engineering (31): 429-445 (2005), June 2005, pp. 429-445.

BibTeX Entry

@article{zimmermann-tse-2005,
    title = "Mining Version Histories to Guide Software Changes",
    author = "Thomas Zimmermann and Peter Weißgerber and Stephan Diehl and Andreas Zeller",
    year = "2005",
    month = "June",
    journal = "IEEE Transactions on Software Engineering",
    number = "6",
    pages = "429--445",
    volume = "31",
}