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 条
  • [31] A parallel framework for software defect detection and metric selection on cloud computing
    Md Mohsin Ali
    Shamsul Huda
    Jemal Abawajy
    Sultan Alyahya
    Hmood Al-Dossari
    John Yearwood
    Cluster Computing, 2017, 20 : 2267 - 2281
  • [32] A Hybrid Complexity Metric in Automatic Software Defects Prediction
    Cernau, Laura
    Diosan, Laura
    Serban, Camelia
    PROCEEDINGS OF THE 17TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES (ICSOFT), 2022, : 433 - 440
  • [33] Multi-objective code-smells detection using good and bad design examples
    Usman Mansoor
    Marouane Kessentini
    Bruce R. Maxim
    Kalyanmoy Deb
    Software Quality Journal, 2017, 25 : 529 - 552
  • [34] Embedded software fault prediction based on back propagation neural network
    Zong, Pengyang
    Wang, Yichen
    Xie, Feng
    2018 IEEE 18TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C), 2018, : 553 - 558
  • [35] EXPERIMENTAL STUDY ON SOFTWARE FAULT PREDICTION USING MACHINE LEARNING MODEL
    Thi Minh Phuong Ha
    Duy Hung Tran
    Le Thi My Hanh
    Nguyen Thanh Binh
    PROCEEDINGS OF 2019 11TH INTERNATIONAL CONFERENCE ON KNOWLEDGE AND SYSTEMS ENGINEERING (KSE 2019), 2019, : 386 - 390
  • [36] Efficacy of Inheritance Aspect in Software Fault Prediction-A Survey Paper
    Aziz, Syed Rashid
    Khan, Tamim Ahmed
    Nadeem, Aamer
    IEEE ACCESS, 2020, 8 (08): : 170548 - 170567
  • [37] Multi-objective code-smells detection using good and bad design examples
    Mansoor, Usman
    Kessentini, Marouane
    Maxim, Bruce R.
    Deb, Kalyanmoy
    SOFTWARE QUALITY JOURNAL, 2017, 25 (02) : 529 - 552
  • [38] Defining Bad Smells and Automating Their Detection in Goal-Oriented Requirement Analysis Method iStar
    Hirabayashi, Yoshitake
    Ohota, Shinji
    Fujii, Suzuka
    Saeki, Motoshi
    PROCEEDINGS OF THE 2023 30TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC 2023, 2023, : 349 - 358
  • [39] Improving Software Fault Prediction with Threshold Values
    Shatnawi, Raed
    2018 26TH INTERNATIONAL CONFERENCE ON SOFTWARE, TELECOMMUNICATIONS AND COMPUTER NETWORKS (SOFTCOM), 2018, : 193 - 198
  • [40] Software fault prediction using language processing
    Binkley, David
    Feild, Henry
    Lawrie, Dawn
    Pighin, Maurizio
    TAIC PART 2007 - TESTING: ACADEMIC AND INDUSTRIAL CONFERENCE - PRACTICE AND RESEARCH TECHNIQUES, PROCEEDINGS: CO-LOCATED WITH MUTATION 2007, 2007, : 99 - +