Login | Register

Tracking the Evolution of Static Code Warnings: the State-of-the-Art and a Better Approach

Title:

Tracking the Evolution of Static Code Warnings: the State-of-the-Art and a Better Approach

LI, JUNJIE (2021) Tracking the Evolution of Static Code Warnings: the State-of-the-Art and a Better Approach. Masters thesis, Concordia University.

[thumbnail of Li_MCompSc_S2021.pdf]
Preview
Text (application/pdf)
Li_MCompSc_S2021.pdf - Accepted Version
584kB

Abstract

Static bug detection tools help developers detect problems in the code, including bad programming practices and potential defects. However, it is known that static bug detectors remain underutilized due to various reasons. Recent advances to incorporate static bug detectors in modern software development workflows, such as in code review and continuous integration, are shown capable of better motivating developers to fix the reported warnings on the fly. A proper mechanism to track the evolution of the reported warnings can better support such integration. Moreover, tracking the static code warnings will benefit many downstream software engineering tasks, such as learning the fix patterns for automated program repair and learning which warnings are of more interest, so they can be prioritized automatically. Hence, precisely tracking the warnings by static bug detectors is critical to improve the utilization of static bug detectors further.
In this thesis, we study the effectiveness of the state-of-the-art (SOA) solution in tracking the warnings by static bug detectors and propose a better solution based on our analysis of the insufficiencies of the SOA solution. In particular, we examined over 2000 commits in four large-scale open-source systems (i.e., JClouds, Kafka, Spring-boot, and Guava) and crafted a dataset of 3,452 static code warnings by two static bug detectors (i.e., Spotbugs and PMD). We manually uncover the ground-truth evolution status of the static warnings: persistent, resolved, or newly-introduced. Moreover, upon manual analysis, we identified the main reasons behind the insufficiencies of the SOA solution. Finally, we propose a better approach to improve the tracking of static warnings over software development history. Our evaluation shows that our proposed approach provides a significant improvement in terms of the precision of the tracking, i.e., from 66.9% to 90.0%.

Divisions:Concordia University > Gina Cody School of Engineering and Computer Science > Computer Science and Software Engineering
Item Type:Thesis (Masters)
Authors:LI, JUNJIE
Institution:Concordia University
Degree Name:M. Comp. Sc.
Program:Computer Science
Date:9 May 2021
Thesis Supervisor(s):Yang, Jinqiu
Keywords:Tracking static code warnings, Code refactoring
ID Code:988418
Deposited By: Junjie Li
Deposited On:09 May 2022 15:09
Last Modified:09 May 2022 15:09
All items in Spectrum are protected by copyright, with all rights reserved. The use of items is governed by Spectrum's terms of access.

Repository Staff Only: item control page

Downloads per month over past year

Research related to the current document (at the CORE website)
- Research related to the current document (at the CORE website)
Back to top Back to top