TY - JOUR
T1 - Exploring the relationships between design measures and software quality in object-oriented systems
AU - Briand, Lionel C.
AU - Wüst, Jürgen
AU - Daly, John W.
AU - Victor Porter, D.
PY - 2000/5/1
Y1 - 2000/5/1
N2 - One goal of this paper is to empirically explore the relationships between existing object-oriented (OO) coupling, cohesion, and inheritance measures and the probability of fault detection in system classes during testing. In other words, we wish to better understand the relationship between existing design measurement in OO systems and the quality of the software developed. The second goal is to propose an investigation and analysis strategy to make these kind of studies more repeatable and comparable, a problem which is pervasive in the literature on quality measurement. Results show that many of the measures capture similar dimensions in the data set, thus reflecting the fact that many of them are based on similar principles and hypotheses. However, it is shown that by using a subset of measures, accurate models can be built to predict which classes most of the faults are likely to lie in. When predicting fault-prone classes, the best model shows a percentage of correct classifications higher than 80% and finds more than 90% of faulty classes. Besides the size of classes, the frequency of method invocations and the depth of inheritance hierarchies seem to be the main driving factors of fault-proneness.
AB - One goal of this paper is to empirically explore the relationships between existing object-oriented (OO) coupling, cohesion, and inheritance measures and the probability of fault detection in system classes during testing. In other words, we wish to better understand the relationship between existing design measurement in OO systems and the quality of the software developed. The second goal is to propose an investigation and analysis strategy to make these kind of studies more repeatable and comparable, a problem which is pervasive in the literature on quality measurement. Results show that many of the measures capture similar dimensions in the data set, thus reflecting the fact that many of them are based on similar principles and hypotheses. However, it is shown that by using a subset of measures, accurate models can be built to predict which classes most of the faults are likely to lie in. When predicting fault-prone classes, the best model shows a percentage of correct classifications higher than 80% and finds more than 90% of faulty classes. Besides the size of classes, the frequency of method invocations and the depth of inheritance hierarchies seem to be the main driving factors of fault-proneness.
UR - http://www.scopus.com/inward/record.url?scp=0343280011&partnerID=8YFLogxK
U2 - 10.1016/S0164-1212(99)00102-8
DO - 10.1016/S0164-1212(99)00102-8
M3 - Article
AN - SCOPUS:0343280011
SN - 0164-1212
VL - 51
SP - 245
EP - 273
JO - Journal of Systems and Software
JF - Journal of Systems and Software
IS - 3
ER -