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

被引:16
|
作者
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.
    XI BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES, AND REUSE (SBCARS 2017), 2017,
  • [3] Bad Smells in Control Software for automated Production Systems
    Sonnleithner, Lisa
    Gutierrez, Antonio
    Rabiser, Rick
    Zoitl, Alois
    AT-AUTOMATISIERUNGSTECHNIK, 2023, 71 (06) : 413 - 422
  • [4] 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.
    SOFTWARE-PRACTICE & EXPERIENCE, 2019, 49 (07) : 1079 - 1113
  • [5] Investigating the relationship between bad smells and bugs in software systems
    Nascimento, Rogeres
    Sant'Anna, Claudio
    XI BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES, AND REUSE (SBCARS 2017), 2017,
  • [6] A FAULT DETECTION STRATEGY FOR SOFTWARE PROJECTS
    Catal, Cagatay
    Diri, Banu
    TEHNICKI VJESNIK-TECHNICAL GAZETTE, 2013, 20 (01): : 1 - 7
  • [7] Predicting Maintainability of Open Source Software using Gene Expression Programming and Bad Smells
    Tarwani, Sandhya
    Chug, Anuradha
    2016 5TH INTERNATIONAL CONFERENCE ON RELIABILITY, INFOCOM TECHNOLOGIES AND OPTIMIZATION (TRENDS AND FUTURE DIRECTIONS) (ICRITO), 2016, : 452 - 459
  • [8] Combining Spreadsheet Smells for Improved Fault Prediction
    Koch, Patrick
    Schekotihin, Konstantin
    Jannach, Dietmar
    Hofer, Birgit
    Wotawa, Franz
    Schmitz, Thomas
    2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: NEW IDEAS AND EMERGING TECHNOLOGIES RESULTS (ICSE-NIER), 2018, : 25 - 28
  • [9] Revisiting the size effect in software fault prediction models
    Tahir, Amjed
    Bennin, Kwabena E.
    MacDonell, Stephen G.
    Marsland, Stephen
    PROCEEDINGS OF THE 12TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2018), 2018,
  • [10] A Taxonomy of Metrics for Software Fault Prediction
    Caulo, Maria
    Scanniello, Giuseppe
    2020 46TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA 2020), 2020, : 429 - 436