Where the bugs are
- 1 July 2004
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 29 (4) , 86-96
- https://doi.org/10.1145/1007512.1007524
Abstract
The ability to predict which files in a large software system are most likely to contain the largest numbers of faults in the next release can be a very valuable asset. To accomplish this, a negative binomial regression model using information from previous releases has been developed and used to predict the numbers of faults for a large industrial inventory system. The files of each release were sorted in descending order based on the predicted number of faults and then the first 20% of the files were selected. This was done for each of fifteen consecutive releases, representing more than four years of field usage. The predictions were extremely accurate, correctly selecting files that contained between 71% and 92% of the faults, with the overall average being 83%. In addition, the same model was used on data for the same system's releases, but with all fault data prior to integration testing removed. The prediction was again very accurate, ranging from 71% to 93%, with the average being 84%. Predictions were made for a second system, and again the first 20% of files accounted for 83% of the identified faults. Finally, a highly simplified predictor was considered which correctly predicted 73% and 74% of the faults for the two systems.Keywords
This publication has 12 references indexed in Scilit:
- An empirical investigation of software fault distributionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- The distribution of faults in a large industrial software systemPublished by Association for Computing Machinery (ACM) ,2002
- Predicting fault incidence using software change historyIEEE Transactions on Software Engineering, 2000
- Quantitative analysis of faults and failures in a complex software systemIEEE Transactions on Software Engineering, 2000
- Reexamining the fault density component size connectionIEEE Software, 1997
- Early quality prediction: a case study in telecommunicationsIEEE Software, 1996
- The detection of fault-prone programsIEEE Transactions on Software Engineering, 1992
- Software errors and complexity: an empirical investigation0Communications of the ACM, 1984
- Optimizing Preventive Service of Software ProductsIBM Journal of Research and Development, 1984
- A Complexity MeasureIEEE Transactions on Software Engineering, 1976