An exploratory study of bug prediction at the method level

被引:14
|
作者
Mo, Ran [1 ]
Wei, Shaozhi [1 ]
Feng, Qiong [2 ]
Li, Zengyang [1 ]
机构
[1] Cent China Normal Univ, Hubei Prov Key Lab Artificial Intelligence & Smar, Wuhan, Hubei, Peoples R China
[2] Cent China Normal Univ, Sch Comp, Wuhan, Hubei, Peoples R China
基金
中国国家自然科学基金;
关键词
Method-level bug prediction; Code metrics; History measures; QUANTITATIVE-ANALYSIS; EMPIRICAL-ANALYSIS; SOFTWARE; FAULTS; METRICS;
D O I
10.1016/j.infsof.2021.106794
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: During the past decades, researchers have proposed numerous studies to predict bugs at different granularity levels, such as the file level, package level, module level, etc. However, the prediction models at the method level are rarely investigated. Objective: In this paper, we investigate to predict bug-prone methods based on method-level code metrics or history measures, and analyze the prediction importance of each metric. Method: To proceed our study, we first propose a series of code metrics and history measures for conducting method-level bug predictions. Next, we compare the performance of different types of prediction models. Finally, we conduct analyses about the prediction power of each metric, based on which, we further analyze whether we can simplify the prediction models. Results: Through our evaluation on eighteen large-scale projects, we have presented: (1) conducting method level bug prediction has potentials of saving a large portion of effort on code reviews and inspections; (2) models using the proposed code metrics or history measures could achieve a good prediction performance; (3) the prediction importance of each metric distributes differently; (4) a highly simplified prediction model could be derived by just using a few important metrics. Conclusion: This study presents how to systematically build models for predicting bug-prone methods, and provides empirical evidence for developers to best select metrics to build method-level bug prediction models.
引用
收藏
页数:12
相关论文
共 50 条
  • [1] Method-Level Bug Prediction
    Giger, Emanuel
    D'Ambros, Marco
    Pinzger, Martin
    Gall, Harald C.
    PROCEEDINGS OF THE ACM-IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM'12), 2012, : 171 - 180
  • [2] Method-level bug prediction
    Giger, Emanuel
    D'Ambros, Marco
    Pinzger, Martin
    Gall, Harald C.
    International Symposium on Empirical Software Engineering and Measurement, 2012, : 171 - 180
  • [3] Method-level Bug Prediction: Problems and Promises
    Chowdhury, Shaiful
    Uddin, Gias
    Hemmati, Hadi
    Holmes, Reid
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2024, 33 (04)
  • [4] Re-evaluating Method-Level Bug Prediction
    Pascarella, Luca
    Palomba, Fabio
    Bacchelli, Alberto
    2018 25TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2018), 2018, : 592 - 601
  • [5] On the performance of method-level bug prediction: A negative result
    Pascarella, Luca
    Palomba, Fabio
    Bacchelli, Alberto
    JOURNAL OF SYSTEMS AND SOFTWARE, 2020, 161
  • [6] Bug Forecast: A Method for Automatic Bug Prediction
    Ferenc, Rudolf
    ADVANCES IN SOFTWARE ENGINEERING, 2010, 117 : 283 - 295
  • [7] An exploratory study on just-in-time multi-programming-language bug prediction
    Li, Zengyang
    Ji, Jiabao
    Liang, Peng
    Mo, Ran
    Liu, Hui
    INFORMATION AND SOFTWARE TECHNOLOGY, 2024, 175
  • [8] Comparative analysis of quantum and classical support vector classifiers for software bug prediction: an exploratory study
    Nadim, Md
    Hassan, Mohammad
    Mandal, Ashis Kumar
    Roy, Chanchal K.
    Roy, Banani
    Schneider, Kevin A.
    QUANTUM MACHINE INTELLIGENCE, 2025, 7 (01)
  • [9] The bug report duplication problem: an exploratory study
    Cavalcanti, Yguarata Cerqueira
    da Mota Silveira Neto, Paulo Anselmo
    Lucredio, Daniel
    Vale, Tassio
    de Almeida, Eduardo Santana
    de Lemos Meira, Silvio Romero
    SOFTWARE QUALITY JOURNAL, 2013, 21 (01) : 39 - 66
  • [10] The bug report duplication problem: an exploratory study
    Yguaratã Cerqueira Cavalcanti
    Paulo Anselmo da Mota Silveira Neto
    Daniel Lucrédio
    Tassio Vale
    Eduardo Santana de Almeida
    Silvio Romero de Lemos Meira
    Software Quality Journal, 2013, 21 : 39 - 66