Comparing the fault-proneness of new and modified code: an industrial case study

  • Authors:
  • Piotr Tomaszewski;Lars-Ola Damm

  • Affiliations:
  • Blekinge Institute of Technology, Ronneby, Sweden;Blekinge Institute of Technology, Ronneby, Sweden and Ericsson AB Ölandsgatan 1, Karlskrona, Sweden

  • Venue:
  • Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.