StaticTracker: A Diff Tool for Static Code Warnings

被引:0
|
作者
Li, Junjie [1 ]
Yang, Jinqiu [1 ]
机构
[1] Concordia Univ, Montreal, PQ, Canada
来源
2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION, ICSME | 2023年
关键词
static analysis; empirical study; code refactoring; software evolution; ALGORITHM;
D O I
10.1109/ICSME58846.2023.00074
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Static bug detectors help improve software quality by detecting code issues (e.g., code smells or bugs). However, static bug detectors are underutilized in practice due to various reasons. One primary reason is that static bug detectors often report an overwhelming number of static warnings for one software revision. To facilitate better adoption of static bug detectors in software development, we propose a tool, namely StaticTracker, that specializes in tracking the evolution of static code warnings. StaticTracker analyzes each commit and produces the changes of static code warnings caused by the commit, i.e., a diff for static code warnings. We integrate StaticTracker in continuous integration through Git Hooks. Whenever developers push code to a git repository, StaticTracker is automatically activated to identify disappeared and newly-introduced warnings by the commit. We implement StaticTracker for two static bug detectors (Spotbugs and PMD) and evaluate StaticTracker on the recent commits of two open-source projects (Druid and Jedis). Our evaluation shows that StaticTracker is effective in reducing the overwhelming static code warnings that developers need to investigate and achieves an accuracy of 89.8%, which outperforms the state-of-the-art tracking approach with an accuracy of 68.5%. We open source the tool at https://github.com/ljj430/tracking-static-warnings tool demo, and the demo video is at https://www.youtube.com/watch?v=2WMOjoq1Nbs.
引用
收藏
页码:568 / 573
页数:6
相关论文
共 50 条
  • [1] Using Machine Learning Techniques to Classify and Predict Static Code Analysis Tool Warnings
    Alikhashashneh, Enas A.
    Raje, Rajeev R.
    Hill, James H.
    2018 IEEE/ACS 15TH INTERNATIONAL CONFERENCE ON COMPUTER SYSTEMS AND APPLICATIONS (AICCSA), 2018,
  • [2] Validating Static Warnings via Testing Code Fragments
    Joshy, Ashwin Kallingal
    Chen, Xueyuan
    Steenhoek, Benjamin
    Le, Wei
    ISSTA '21: PROCEEDINGS OF THE 30TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2021, : 540 - 552
  • [3] Understanding static code warnings: An incremental AI approach
    Yang, Xueqi
    Yu, Zhe
    Wang, Junjie
    Menzies, Tim
    EXPERT SYSTEMS WITH APPLICATIONS, 2021, 167
  • [4] A Better Approach to Track the Evolution of Static Code Warnings
    Li, Junjie
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), 2021, : 135 - 137
  • [5] Learning to recognize actionable static code warnings (is intrinsically easy)
    Xueqi Yang
    Jianfeng Chen
    Rahul Yedida
    Zhe Yu
    Tim Menzies
    Empirical Software Engineering, 2021, 26
  • [6] 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)
  • [7] Learning to recognize actionable static code warnings (is intrinsically easy)
    Yang, Xueqi
    Chen, Jianfeng
    Yedida, Rahul
    Yu, Zhe
    Menzies, Tim
    EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (03)
  • [8] On the adequacy of static analysis warnings with respect to code smell prediction
    Fabiano Pecorelli
    Savanna Lujan
    Valentina Lenarduzzi
    Fabio Palomba
    Andrea De Lucia
    Empirical Software Engineering, 2022, 27
  • [9] Automatically Generating Fix Suggestions in Response to Static Code Analysis Warnings
    Marcilio, Diego
    Furia, Carlo A.
    Bonifacio, Rodrigo
    Pinto, Gustavo
    2019 19TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2019, : 34 - 44
  • [10] Identifying Security Relevant Warnings from Static Code Analysis Tools through Code Tainting
    Baca, Dejan
    FIFTH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY, AND SECURITY: ARES 2010, PROCEEDINGS, 2010, : 386 - 390