A Case Study of Source Code Evolution

  • Authors:
  • Arbi Ghazarian

  • Affiliations:
  • -

  • Venue:
  • CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Obtaining an accurate characterization of pre-release changes, especially those related to fault corrections, can give indications for the quality of the software development process and its product. The resulting indications can then be leveraged to identify areas for quality improvement within software development organizations. Towards this objective, we studied the evolution of the source code modules in an industrial enterprise resource planning software system spanning a time period of two years from the initial creation of the source code modules to the release of the software product. In this paper, we describe our case study process, and present the frequency distributions of pre-release changes and faults along with lessons learned from the case study. Overall, we found that (a) only 22% of pre-release changes contribute new functionality to the system under development; the remaining majority of the pre-release changes are either fault corrections or code clean-ups (b) over 72% of pre-release faults are propagated from upper-stream requirements and design activities (c) fault classes that are the target of most fault detection tools have a low frequency.