The usefulness of software metric thresholds for detection of bad smells and fault prediction

被引:15
|
作者
Bigonha, Mariza A. S. [1 ]
Ferreira, Kecia [2 ]
Souza, Priscila [1 ]
Sousa, Bruno [1 ]
Januario, Marcela [2 ]
Lima, Daniele [2 ]
机构
[1] Univ Fed Minas Gerais, Comp Sci Dept, Belo Horizonte, MG, Brazil
[2] CEFET MG, Dept Comp, Belo Horizonte, MG, Brazil
关键词
Software metrics; Software quality; Thresholds; Detection strategies; Bad smell; Fault prediction; VALIDATION;
D O I
10.1016/j.infsof.2019.08.005
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context Software metrics may be an effective tool to assess the quality of software, but to guide their use it is important to define their thresholds. Bad smells and fault also impact the quality of software. Extracting metrics from software systems is relatively low cost since there are tools widely used for this purpose, which makes feasible applying software metrics to identify bad smells and to predict faults. Objective: To inspect whether thresholds of object-oriented metrics may be used to aid bad smells detection and fault predictions. Method: To direct this research, we have defined three research questions (RQ), two related to identification of bad smells, and one for identifying fault in software systems. To answer these RQs, we have proposed detection strategies for the bad smells: Large Class, Long Method, Data Class, Feature Envy, and Refused Bequest, based on metrics and their thresholds. To assess the quality of the derived thresholds, we have made two studies. The first one was conducted to evaluate their efficacy on detecting these bad smells on 12 systems. A second study was conducted to investigate for each of the class level software metrics: DIT, LCOM, NOF, NOM, NORM, NSC, NSF, NSM, SIX, and WMC, if the ranges of values determined by thresholds are useful to identify fault in software systems. Results: Both studies confirm that metric thresholds may support the prediction of faults in software and are significantly and effective in the detection of bad smells. Conclusion: The results of this work suggest practical applications of metric thresholds to identify bad smells and predict faults and hence, support software quality assurance activities.Their use may help developers to focus their efforts on classes that tend to fail, thereby minimizing the occurrence of future problems.
引用
收藏
页码:79 / 92
页数:14
相关论文
共 50 条
  • [31] An exploratory study on cooccurrence of design patterns and bad smells using software metrics
    Sousa, Bruno L.
    Bigonha, Mariza A. S.
    Ferreira, Kecia A. M.
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2019, 49 (07): : 1079 - 1113
  • [32] Refused Bequest Code Smells Detection on Software Design
    Firdaus, Muhammad Faishal
    Priyambadha, Bayu
    Pradana, Fajar
    [J]. PROCEEDINGS OF 2018 3RD INTERNATIONAL CONFERENCE ON SUSTAINABLE INFORMATION ENGINEERING AND TECHNOLOGY (SIET 2018), 2018, : 288 - 291
  • [33] GSDetector: a tool for automatic detection of bad smells in GRL goal models
    Mohammed, Mawal A.
    Hassine, Jameleddine
    Alshayeb, Mohammad
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2022, 24 (06) : 889 - 910
  • [34] Multi-criteria detection of bad smells in code with UTA method
    Walter, B
    Pietrzak, B
    [J]. EXTREME PROGRAMMING AND AGILE PROCESSES IN SOFTWARE ENGINEERING, PROCEEDINGS, 2005, 3556 : 154 - 161
  • [35] GSDetector: a tool for automatic detection of bad smells in GRL goal models
    Mawal A. Mohammed
    Jameleddine Hassine
    Mohammad Alshayeb
    [J]. International Journal on Software Tools for Technology Transfer, 2022, 24 : 889 - 910
  • [36] Automatic Detection of Architectural Bad Smells through Semantic Representation of Code
    Pigazzini, Ilaria
    [J]. 13TH EUROPEAN CONFERENCE ON SOFTWARE ARCHITECTURE (ECSA 2019), VOL 2, 2019, : 59 - 62
  • [37] Predicting Maintainability of Open Source Software using Gene Expression Programming and Bad Smells
    Tarwani, Sandhya
    Chug, Anuradha
    [J]. 2016 5TH INTERNATIONAL CONFERENCE ON RELIABILITY, INFOCOM TECHNOLOGIES AND OPTIMIZATION (TRENDS AND FUTURE DIRECTIONS) (ICRITO), 2016, : 452 - 459
  • [38] A software fault tree key node metric
    Needham, D. M.
    Jones, S. A.
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2007, 80 (09) : 1530 - 1540
  • [39] METRIC SELECTION FOR SOFTWARE DEFECT PREDICTION
    Wang, Huanjing
    Khoshgoftaar, Taghi M.
    Van Hulse, Jason
    Gao, Kehan
    [J]. INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2011, 21 (02) : 237 - 257
  • [40] Prediction of Software Fault Detection and Correction Processes With Time Series Analysis
    Li, Yingchun
    Ma, Ye
    Peng, Rui
    Gao, Kaiye
    [J]. 2020 ASIA-PACIFIC INTERNATIONAL SYMPOSIUM ON ADVANCED RELIABILITY AND MAINTENANCE MODELING (APARM), 2020,