Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Investigating quality factors in object-oriented designs: an industrial case study
Proceedings of the 21st international conference on Software engineering
Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
What We Have Learned About Fighting Defects
METRICS '02 Proceedings of the 8th International Symposium on Software Metrics
An Empirical Analysis of Fault Persistence Through Software Releases
ISESE '03 Proceedings of the 2003 International Symposium on Empirical Software Engineering
Predicting the Location and Number of Faults in Large Software Systems
IEEE Transactions on Software Engineering
A model for software rework reduction through a combination of anomaly metrics
Journal of Systems and Software
Hi-index | 0.00 |
Faults are considered as one of the important factors affecting the cost of software development projects. To be able to efficiently handle faults, we must increase our understanding of the factors that make the code fault-prone. A majority of large software systems evolve during their lifetime. In each new release of the system the functionality can be added by writing new classes or/and by modifying already existing ones. In this study we compared the fault-proneness of new and modified classes in such systems. Our study is based on two releases of two large telecommunication systems developed at Ericsson. The major finding of the study is that the risk of introducing faults (the number of faults in the class /the number of new or modified lines of code in the class) is 20 to 40 times as high in modified classes compared to new ones. In the systems which we analyzed a small modification (a few percent) of the class resulted in as many faults as we would expect when the same class was written from scratch. Previous research on this relationship does not appear to exist. Partly in conflict with related research, we found that there is no statistically significant difference between the average number of faults in modified and new classes, and that the average fault-densities (the number of faults/the size of the entire class) in new and in modified classes are very similar. Finally, we also suggest how our findings can be used in practice.