Replicated case studies for investigating quality factors in object-oriented designs

Lionel C. Briand, Jürgen Wüst, Hakim Lounis

Research output: Contribution to journalArticlepeer-review

Abstract

This paper aims at empirically exploring the relationships between most of the existing design coupling, cohesion, and inheritance measures for object-oriented (OO) systems, and the fault-proneness of OO system classes. The underlying goal of this study is to better understand the relationship between existing design measurement in 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 study conducted in a university environment with systems developed by students. In order to draw more general conclusions and to (dis)confirm the results obtained there, we now replicated the study using data collected on an industrial system developed by professionals. Results show that many of our findings are consistent across systems, despite the very disparate nature of the systems under study. Some of the strong dimensions captured by the measures in each data set are visible in both the university and industrial case study. For example, the frequency of method invocations appears to be the main driving factor of fault-proneness in all systems. However, there are also differences across studies, which illustrate the fact that, although many principles and techniques can be reused, quality does not follow universal laws and quality models must be developed locally, wherever needed.

Original languageEnglish
Pages (from-to)11-58
Number of pages48
JournalEmpirical Software Engineering
Volume6
Issue number1
DOIs
Publication statusPublished - Mar 2001
Externally publishedYes

Fingerprint

Dive into the research topics of 'Replicated case studies for investigating quality factors in object-oriented designs'. Together they form a unique fingerprint.

Cite this