On the ability of complexity metrics to predict fault-prone classes in object-oriented systems

被引:74
|
作者
Zhou, Yuming [1 ,2 ]
Xu, Baowen [1 ,2 ]
Leung, Hareton [3 ]
机构
[1] Nanjing Univ, State Key Lab Novel Software Technol, Nanjing, Peoples R China
[2] Nanjing Univ, Dept Comp Sci & Technol, Nanjing, Peoples R China
[3] Hong Kong Polytech Univ, Dept Comp, Hong Kong, Hong Kong, Peoples R China
基金
中国国家自然科学基金;
关键词
Complexity; Metrics; Fault-prone; Prediction; Logistic regression; Odds ratio; Concordant pairs; EMPIRICAL VALIDATION; SOFTWARE QUALITY; DESIGN METRICS; IDENTIFICATION; ACCURACY; MODELS; CURVE; AGILE; CODE; AREA;
D O I
10.1016/j.jss.2009.11.704
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many studies use logistic regression models to investigate the ability of complexity metrics to predict fault-prone classes. However, it is not uncommon to see the inappropriate use of performance indictors such as odds ratio in previous studies. In particular, a recent study by Olague et al. uses the odds ratio associated with one unit increase in a metric to compare the relative magnitude of the associations between individual metrics and fault-proneness. In addition, the percents of concordant, discordant, and tied pairs are used to evaluate the predictive effectiveness of a univariate logistic regression model. Their results suggest that lesser known complexity metrics such as standard deviation method complexity (SDMC) and average method complexity (AMC) are better predictors than the two commonly used metrics: lines of code (LOC) and weighted method McCabe complexity (WMC). In this paper, however, we show that (1) the odds ratio associated with one standard deviation increase, rather than one unit increase, in a metric should be used to compare the relative magnitudes of the effects of individual metrics on fault-proneness. Otherwise, misleading results may be obtained; and that (2) the connection of the percents of concordant, discordant, and tied pairs with the predictive effectiveness of a univariate logistic regression model is false, as they indeed do not depend on the model. Furthermore, we use the data collected from three versions of Eclipse to re-examine the ability of complexity metrics to predict fault-proneness. Our experimental results reveal that: (1) many metrics exhibit moderate or almost moderate ability in discriminating between fault-prone and not fault-prone classes; (2) LOC and WMC are indeed better fault-proneness predictors than SDMC and AMC; and (3) the explanatory power of other complexity metrics in addition to LOC is limited. (C) 2009 Elsevier Inc. All rights reserved.
引用
收藏
页码:660 / 674
页数:15
相关论文
共 50 条
  • [1] Predicting fault-prone classes with design measures in object-oriented systems
    Briand, LC
    Daly, J
    Porter, V
    Wüst, J
    NINTH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 1998, : 334 - 343
  • [2] Detection of Fault-Prone Classes Using Logistic Regression Based Object-Oriented Metrics Thresholds
    Hussain, Shahid
    Keung, Jacky
    Khan, Arif Ali
    Bennin, Kwabena Ebo
    2016 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C 2016), 2016, : 93 - 100
  • [3] Enhancing Software Maintenance via Early Prediction of Fault-Prone Object-Oriented Classes
    Bassey, Isong
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2017, 27 (04) : 515 - 537
  • [4] Using Software Metrics Thresholds to Predict Fault- Prone Classes in Object-Oriented Software
    Boucher, Alexandre
    Badri, Mourad
    2016 4TH INTL CONF ON APPLIED COMPUTING AND INFORMATION TECHNOLOGY/3RD INTL CONF ON COMPUTATIONAL SCIENCE/INTELLIGENCE AND APPLIED INFORMATICS/1ST INTL CONF ON BIG DATA, CLOUD COMPUTING, DATA SCIENCE & ENGINEERING (ACIT-CSII-BCD), 2016, : 169 - 176
  • [5] Predicting Fault-Prone Classes in Object-Oriented Software: An Adaptation of an Unsupervised Hybrid SOM Algorithm
    Boucher, Alexandre
    Badri, Mourad
    2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS), 2017, : 306 - 317
  • [6] Predict Fault-Prone Classes using the Complexity of UML Class Diagram
    Halim, Arwin
    2013 INTERNATIONAL CONFERENCE ON COMPUTER, CONTROL, INFORMATICS AND ITS APPLICATIONS (IC3INA), 2013, : 289 - 294
  • [7] An empirical validation of object-oriented class complexity metrics and their ability to predict error-prone classes in highly iterative, or agile, software: a case study
    Olague, Hector M.
    Etzkorn, Letha H.
    Messimer, Sherri L.
    Delugach, Harry S.
    JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE, 2008, 20 (03): : 171 - 197
  • [8] Comparative analysis of J48 with statistical and machine learning methods in predicting fault-prone classes using object-oriented systems
    Singh, Yogesh
    Kaur, Arvinder
    Malhotra, Ruchika
    JOURNAL OF STATISTICS AND MANAGEMENT SYSTEMS, 2011, 14 (03) : 595 - 616
  • [9] Fault prediction considering threshold effects of object-oriented metrics
    Malhotra, Ruchika
    Bansal, Ankita Jain
    EXPERT SYSTEMS, 2015, 32 (02) : 203 - 219
  • [10] Prediction of change prone classes using evolution-based and object-oriented metrics
    Malhotra, Ruchika
    Khanna, Megha
    JOURNAL OF INTELLIGENT & FUZZY SYSTEMS, 2018, 34 (03) : 1755 - 1766