Predicting Faults from Cached History
Sunghun Kim
Zimmermann, T.
Whitehead, E.J.
Zeller, A.
Massachusetts Inst. of Technol., Cambridge, MA;
This paper appears in: Software Engineering, 2007. ICSE 2007. 29th International Conference on
Publication Date: 20-26 May 2007
On page(s): 489-498
Location: Minneapolis, MN,
ISSN: 0270-5257
ISBN: 0-7695-2828-7
INSPEC Accession Number: 10355453
Digital Object Identifier: 10.1109/ICSE.2007.66
Current Version Published: 2007-06-04
Abstract
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.
Index
Terms
Available to subscribers and IEEE members.
References
Available to subscribers and IEEE members.
Citing Documents
Available to subscribers and IEEE members.