Analyzing Software Quality Evolution using Metrics: An Empirical Study on Open Source Software

Nicholas Drouin, Mourad Badri, Fadel Touré · Journal of Software · 2013

The study presented in this paper aims at analyzing empirically the quality of evolving software systems using metrics. We used a synthetic metric (Quality Assurance Indicator - Qi), which captures in an integrated way different object-oriented software attributes. We wanted to investigate if the Qi metric can be used to observe how quality evolves along the evolution of software systems. We consider software quality from an internal (structural) perspective. We used various object-oriented design metrics for measuring the structural quality of a release. We performed an empirical analysis using historical data collected from successive released versions of three open source (Java) software systems. The collected data cover, for each system, a period of several years (4 years for two systems and 7 years for the third one). We focused on three issues: (1) the evolution of the Qi metric along the evolution of the subject systems, (2) the class growth of the subject systems, and (3) the quality of added classes versus the quality of removed ones. Empirical results provide evidence that the Qi metric reflects properly the quality evolution of the studied software systems.

Read the paper · More papers on PaperTik