Predicting Faults from Cached History – ICSE 2007

by Sunghun Kim, Thomas Zimmermann, E. James Whitehead Jr., Andreas Zeller

We analyze the version history of 7 software systems to predict the most fault prone entities and files. The basic assumption is that faults do not occur in isolation, but rather in bursts of several related faults. Therefore, we cache locations that are likely to have faults: starting from the location of a known (fixed) fault, we cache the location itself, any locations changed together with the fault, recently added locations, and recently changed locations. By consulting the cache at the moment a fault is fixed, a developer can detect likely fault-prone locations. This is useful for prioritizing verification and validation resources on the most fault prone files or entities. In our evaluation of seven open source projects with more than 200,000 revisions, the cache selects 10% of the source code files; these files account for 73%-95% of faults---a significant advance beyond the state of the art.

Download as PDF.
See also:


Sunghun Kim, Thomas Zimmermann, E. James Whitehead Jr., Andreas Zeller. Predicting Faults from Cached History. In Proceedings of the 29th International Conference on Software Engineering (ICSE 2007), Minneapolis, MN, USA, May 2007.

BibTeX Entry

    title = "Predicting Faults from Cached History",
    author = "Sunghun Kim and Thomas Zimmermann and E. James Whitehead Jr. and Andreas Zeller",
    year = "2007",
    month = "May",
    booktitle = "Proceedings of the 29th International Conference on Software Engineering",
    location = "Minneapolis, MN, USA",