Automatic Identification of Bug Introducing Changes – ASE 2006

by Sunghun Kim, Thomas Zimmermann, Kai Pan, E. James Whitehead Jr.

Bug-fixes are widely used for predicting bugs or finding risky parts of software. However, a bug-fix does not contain information about the change that initially introduced a bug. Such bug-introducing changes can help identify important properties of software bugs such as correlated factors or causalities. For example, they reveal which developers or what kinds of source code changes introduce more bugs. In contrast to bug-fixes that are relatively easy to obtain, the extraction of bugintroducing changes is challenging.
 
In this paper, we present algorithms to automatically and accurately identify bug-introducing changes. We remove false positives and false negatives by using annotation graphs, by ignoring non-semantic source code changes, and outlier fixes. Additionally, we validated that the fixes we used are true fixes by a manual inspection. Altogether, our algorithms can remove about 38%~51% of false positives and 14%~15% of false negatives compared to the previous algorithm. Finally, we show applications of bug-introducing changes that demonstrate their value for research.

Download as PDF.
See also: http://www.softevo.org/

Reference

Sunghun Kim, Thomas Zimmermann, Kai Pan, E. James Whitehead Jr.. Automatic Identification of Bug Introducing Changes. In Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering (ASE 2006), Tokyo, Japan, September 2006, pp. 81-90.

BibTeX Entry

@inproceedings{kim-ase-2006,
    title = "Automatic Identification of Bug Introducing Changes",
    author = "Sunghun Kim and Thomas Zimmermann and Kai Pan and E. James Whitehead Jr.",
    year = "2006",
    month = "September",
    booktitle = "Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering",
    location = "Tokyo, Japan",
    pages = "81--90",
}