Replicated Case Studies for Investigating Quality Factorsin Object-Oriented Designs

  • Authors:
  • Lionel C. Briand;Jürgen Wüst;Hakim Lounis

  • Affiliations:
  • Carleton University Systems and Computer Engineering 1125 Colonel By Drive Ottawa, ON, K1S 5B6, Canada;Fraunhofer Institute for Experimental Software Engineering Sauerwiesen 6 67661 Kaiserslautern, Germany;Université du Québec à Montréal Département d'informatique Case postale 8888, succursale Centre-ville, Montréal, Canada H3C 3P8

  • Venue:
  • Empirical Software Engineering
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Thispaper aims at empirically exploring the relationships betweenmost of the existing design coupling, cohesion, and inheritancemeasures for object-oriented (OO) systems, and the fault-pronenessof OO system classes. The underlying goal of this study is tobetter understand the relationship between existing design measurementin OO systems and the quality of the software developed. in addition,we aim at assessing whether such relationships, once modeled,can be used to effectively drive and focus inspections or testing.The study described here is a replication of an analogous studyconducted in a university environment with systems developedby students. In order to draw more general conclusions and to(dis)confirm the results obtained there, we now replicated thestudy using data collected on an industrial system developedby professionals. Results show that many of our findings areconsistent across systems, despite the very disparate natureof the systems under study. Some of the strong dimensions capturedby the measures in each data set are visible in both the universityand industrial case study. For example, the frequency of methodinvocations appears to be the main driving factor of fault-pronenessin all systems. However, there are also differences across studies,which illustrate the fact that, although many principles andtechniques can be reused, quality does not follow universal lawsand quality models must be developed locally, wherever needed.