Static source code metrics and static analysis warnings for fine-grained just-in-time defect prediction

被引:20
|
作者
Trautsch, Alexander [1 ]
Herbold, Steffen [2 ]
Grabowski, Jens [1 ]
机构
[1] Univ Goettingen, Inst Comp Sci, Gottingen, Germany
[2] Karlsruhe Inst Technol, Inst AIFB, Karlsruhe, Germany
来源
2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2020) | 2020年
关键词
Software quality; Software metrics;
D O I
10.1109/ICSME46990.2020.00022
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software quality evolution and predictive models to support decisions about resource distribution in software quality assurance tasks are an important part of software engineering research. Recently, a fine-grained just-in-time defect prediction approach was proposed which has the ability to find bug-inducing files within changes instead of only complete changes. In this work, we utilize this approach and improve it in multiple places: data collection, labeling and features. We include manually validated issue types, an improved SZZ algorithm which discards comments, whitespaces and refactorings. Additionally, we include static source code metrics as well as static analysis warnings and warning density derived metrics as features. To assess whether we can save cost we incorporate a specialized defect prediction cost model. To evaluate our proposed improvements of the fine-grained just-in-time defect prediction approach we conduct a case study that encompasses 38 Java projects, 492,241 file changes in 73,598 commits and spans 15 years. We find that static source code metrics and static analysis warnings are correlated with bugs and that they can improve the quality and cost saving potential of just-in-time defect prediction models.
引用
收藏
页码:127 / 138
页数:12
相关论文
共 42 条
  • [1] Fine-grained just-in-time defect prediction
    Pascarella, Luca
    Palomba, Fabio
    Bacchelli, Alberto
    JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 150 : 22 - 36
  • [2] Fine-Grained Just-In-Time Defect Prediction at the Block Level in Infrastructure-as-Code (IaC)
    Begoug, Mahi
    Chouchen, Moataz
    Ouni, Ali
    AlOmar, Eman Abdullah
    Mkaouer, Mohamed Wiem
    2024 IEEE/ACM 21ST INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR, 2024, : 100 - 112
  • [3] Temporal convolutional networks for just-in-time design smells prediction using fine-grained software metrics
    Ardimento, Pasquale
    Aversano, Lerina
    Bernardi, Mario Luca
    Cimitile, Marta
    Iammarino, Martina
    NEUROCOMPUTING, 2021, 463 : 454 - 471
  • [4] Just-in-Time Static Analysis
    Do, Lisa Nguyen Quang
    Ali, Karim
    Livshits, Benjamin
    Bodden, Eric
    Smith, Justin
    Murphy-Hill, Emerson
    PROCEEDINGS OF THE 26TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA'17), 2017, : 307 - 317
  • [5] Just-In-Time Code Reuse: On the Effectiveness of Fine-Grained Address Space Layout Randomization
    Snow, Kevin Z.
    Monrose, Fabian
    Davi, Lucas
    Dmitrienko, Alexandra
    Liebchen, Christopher
    Sadeghi, Ahmad-Reza
    2013 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2013, : 574 - 588
  • [6] The impact of context metrics on just-in-time defect prediction
    Kondo, Masanari
    German, Daniel M.
    Mizuno, Osamu
    Choi, Eun-Hye
    EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (01) : 890 - 939
  • [7] The impact of context metrics on just-in-time defect prediction
    Masanari Kondo
    Daniel M. German
    Osamu Mizuno
    Eun-Hye Choi
    Empirical Software Engineering, 2020, 25 : 890 - 939
  • [8] A Comparative Analysis of the Efficiency of Change Metrics and Static Code Attributes for Defect Prediction
    Moser, Raimund
    Pedrycz, Witold
    Succi, Giancarlo
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 181 - 190
  • [9] Bug prediction method for fine-grained source code changes
    Yuan, Zi, 1600, Chinese Academy of Sciences (25):
  • [10] On the adequacy of static analysis warnings with respect to code smell prediction
    Pecorelli, Fabiano
    Lujan, Savanna
    Lenarduzzi, Valentina
    Palomba, Fabio
    De Lucia, Andrea
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (03)