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 条
  • [41] Empirical Study on the Distribution of Object-Oriented Metrics in Software Systems
    Muthukumaran, K.
    Murthy, N. L. Bhanu
    Janani, P. Sarguna
    INFORMATION AND SOFTWARE TECHNOLOGIES, ICIST 2019, 2019, 1078 : 299 - 317
  • [42] Object-Oriented Software Coupling Metrics
    Ma J.
    Liu F.
    Fan J.-P.
    Beijing Youdian Daxue Xuebao/Journal of Beijing University of Posts and Telecommunications, 2018, 41 (01): : 109 - 114
  • [43] A survey of object-oriented design metrics
    Chhabra, Jitender Kumar
    Aggarwal, K. K.
    Singh, Yogesh
    WMSCI 2005: 9TH WORLD MULTI-CONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL 10, 2005, : 185 - 190
  • [44] Evaluation Criteria for Object-oriented Metrics
    Misra, Sanjay
    ACTA POLYTECHNICA HUNGARICA, 2011, 8 (05) : 109 - 136
  • [45] Empirical validation of object-oriented metrics for predicting fault proneness at different severity levels using support vector machines
    Malhotra, Ruchika
    Kaur, Arvinder
    Singh, Yogesh
    INTERNATIONAL JOURNAL OF SYSTEM ASSURANCE ENGINEERING AND MANAGEMENT, 2010, 1 (03) : 269 - 281
  • [46] Empirical validation of object-oriented metrics for predicting fault proneness at different severity levels using support vector machines
    Ruchika Malhotra
    Arvinder Kaur
    Yogesh Singh
    International Journal of System Assurance Engineering and Management, 2010, 1 (3) : 269 - 281
  • [47] Categorisation-based approach for predicting the fault-proneness of object-oriented classes in software post-releases
    Al Dallal, Jehad
    IET SOFTWARE, 2020, 14 (05) : 525 - 534
  • [48] A study on fault-proneness detection of Object-Oriented systems
    Fioravanti, F
    Nesi, P
    FIFTH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, 2001, : 121 - 130
  • [49] The structured complexity of object-oriented programs
    Fóthi, A
    Nyéky-Gaizler, J
    Porkoláb, Z
    MATHEMATICAL AND COMPUTER MODELLING, 2003, 38 (7-9) : 815 - 827
  • [50] A complexity metric for object-oriented software
    Yi T.
    Fang C.
    International Journal of Computers and Applications, 2020, 42 (06): : 544 - 549