System performance analyses through object-oriented fault and coupling prisms

  • Authors:
  • Alessandro Murgia;Roberto Tonelli;Michele Marchesi;Giulio Concas;Steve Counsell;Stephen Swift

  • Affiliations:
  • University of Antwerp, Antwerp, Belgium;University of Cagliari, Cagliari, Italy;University of Cagliari, Cagliari, Italy;University of Cagliari, Cagliari, United Kingdom;Brunel University, Uxbridge, United Kingdom;Brunel University, Uxbridge, United Kingdom

  • Venue:
  • Proceedings of the 5th ACM/SPEC international conference on Performance engineering
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

A fundamental aspect of a system's performance over time is the number of faults it generates. The relationship between the software engineering concept of "coupling" (i.e., the degree of inter-connectedness of a system's components) and faults is still a research question attracting attention and a relationship with strong implications for performance; excessive coupling is generally acknowledged to contribute to fault-proneness. In this paper, we explore the relationship between faults and coupling. Two releases from each of three open-source Eclipse projects (six releases in total) were used as an empirical basis and coupling and fault data extracted from those systems. A contrasting coupling profile between fault-free and fault-prone classes was observed and this result was statistically supported. Object-oriented (OO) classes with low values of fan-in (incoming coupling) and fan-out (outgoing coupling) appeared to support fault-free classes, while classes with high fan-out supported relatively fault-prone classes. We also considered size as an influence on fault-proneness. The study thus emphasizes the importance of minimizing coupling where possible (and particularly that of fan-out); failing to control coupling may store up problems for later in a system's life; equally, controlling class size should be a concomitant goal.