A case study comparing defect profiles of a reused framework and of applications reusing it

  • Authors:
  • Anita Gupta;Jingyue Li;Reidar Conradi;Harald Rønneberg;Einar Landre

  • Affiliations:
  • Department of Computer and Information Science (IDI), Norwegian University of Science and Technology (NTNU), Trondheim, Norway;Department of Computer and Information Science (IDI), Norwegian University of Science and Technology (NTNU), Trondheim, Norway;Department of Computer and Information Science (IDI), Norwegian University of Science and Technology (NTNU), Trondheim, Norway;Statoil KTJ/IT, Stavanger, Norway;Statoil KTJ/IT, Stavanger, Norway

  • Venue:
  • Empirical Software Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The benefits of software reuse have been studied for many years. Several previous studies have observed that reused software has a lower defect density than newly built software. However, few studies have investigated empirically the reasons for this phenomenon. To date, we have only the common sense observation that as software is reused over time, the fixed defects will accumulate and will result in high-quality software. This paper reports on an industrial case study in a large Norwegian Oil and Gas company, involving a reused Java class framework and two applications that use that framework. We analyzed all trouble reports from the use of the framework and the applications according to the Orthogonal Defect Classification (ODC), followed by a qualitative Root Cause Analysis (RCA). The results reveal that the framework has a much lower defect density in total than one application and a slightly higher defect density than the other. In addition, the defect densities of the most severe defects of the reused framework are similar to those of the applications that are reusing it. The results of the ODC and RCA analyses reveal that systematic reuse (i.e. clearly defined and stable requirements, better design, hesitance to change, and solid testing) lead to lower defect densities of the functional-type defects in the reused framework than in applications that are reusing it. However, the different "nature" of the framework and the applications (e.g. interaction with other software, number and complexity of business logic, and functionality of the software) may confound the causal relationship between systematic reuse and the lower defect density of the reused software. Using the results of the study as a basis, we present an improved overall cause---effect model between systematic reuse and lower defect density that will facilitate further studies and implementations of software reuse.