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

TitleStatic source code metrics and static analysis warnings for fine-grained just-in-time defect prediction
Publication TypeConference Paper
Year of Publication2020
AuthorsTrautsch, Alexander, Herbold, Steffen, Grabowski, Jens
Conference Name2020 IEEE International Conference on Software Maintenance and Evolution (ICSME)
Date Publishedsep
Keywordscomposability, Computer bugs, Human Behavior, Java, Labeling, Measurement, Predictive models, pubcrawl, Resiliency, software metrics, software quality, static analysis, static code analysis
AbstractSoftware 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.
DOI10.1109/ICSME46990.2020.00022
Citation Keytrautsch_static_2020