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 条
  • [1] Applying Software Metric Thresholds for Detection of Bad Smells
    Souza, Priscila P.
    Sousa, Bruno L.
    Ferreira, Kecia A. M.
    Bigonha, Mariza A. S.
    [J]. XI BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES, AND REUSE (SBCARS 2017), 2017,
  • [3] Detection Strategies of Bad Smells in Highly Configurable Software
    Faujdar, Neetu
    Srivastav, Kshitij
    Gupta, Megha
    Saraswat, Shipra
    [J]. PROCEEDINGS OF THE 8TH INTERNATIONAL CONFERENCE CONFLUENCE 2018 ON CLOUD COMPUTING, DATA SCIENCE AND ENGINEERING, 2018, : 31 - 35
  • [4] Lexicon Bad Smells in Software
    Abebe, Surafel Lemma
    Haiduc, Sonia
    Tonella, Paolo
    Marcus, Andrian
    [J]. 16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, : 95 - +
  • [5] "Bad smells" in software analytics papers
    Menzies, Tim
    Shepperd, Martin
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2019, 112 : 35 - 47
  • [6] On the Different Flavors of Software (bad) Smells
    Di Penta, Massimiliano
    [J]. SBES'18: PROCEEDINGS OF THE XXXII BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, 2018, : 1 - 1
  • [7] A Catalogue of Bad Smells for Software Process
    Santos, Edison J.
    Pitangueira Maciel, Rita Suzana
    Sant'Anna, Claudio
    [J]. PROCEEDINGS OF THE 17TH BRAZILIAN SYMPOSIUM ON SOFTWARE QUALITY (SBQS), 2015, : 1 - 10
  • [8] Evaluation of Sampling Techniques in Software Fault Prediction Using Metrics and Code Smells
    Kaur, Kamaldeep
    Kaur, Parmeet
    [J]. 2017 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTING, COMMUNICATIONS AND INFORMATICS (ICACCI), 2017, : 1377 - 1386
  • [9] A Possibilistic Evolutionary Approach to Handle the Uncertainty of Software Metrics Thresholds in Code Smells Detection
    Boutaib, Sofien
    Elarbi, Maha
    Bechikh, Slim
    Palomba, Fabio
    Ben Said, Lamjed
    [J]. 2021 IEEE 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2021), 2021, : 574 - 585
  • [10] Bad Smells in Control Software for automated Production Systems
    Sonnleithner, Lisa
    Gutierrez, Antonio
    Rabiser, Rick
    Zoitl, Alois
    [J]. AT-AUTOMATISIERUNGSTECHNIK, 2023, 71 (06) : 413 - 422