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 条
  • [21] Static Code Analysis Tool for Laravel Framework Based Web Application
    Paramitha, Ranindya
    Asnar, Yudistira Dwi Wardhana
    PROCEEDINGS OF 2021 INTERNATIONAL CONFERENCE ON DATA AND SOFTWARE ENGINEERING (ICODSE): DATA AND SOFTWARE ENGINEERING FOR SUPPORTING SUSTAINABLE DEVELOPMENT GOALS, 2021,
  • [22] SootFX: A Static Code Feature Extraction Tool for Java']Java and Android
    Karakaya, Kadiray
    Bodden, Eric
    IEEE 21ST INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2021), 2021, : 181 - 186
  • [23] SPrune: A Code Pruning Tool for Ethereum Solidity Contract Static Analysis
    Zhou, Zihan
    Xiong, Yan
    Huang, Wenchao
    Ma, Lu
    2020 6TH INTERNATIONAL CONFERENCE ON BIG DATA COMPUTING AND COMMUNICATIONS (BIGCOM 2020), 2020, : 66 - 70
  • [24] Internal deployment of the parfait static code analysis tool at oracle (invited talk)
    Cifuentes, Cristina
    Keynes, Nathan
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2013, 8301 LNCS : 172 - 175
  • [25] Sys: a Static/Symbolic Tool for Finding Good Bugs in Good (Browser) Code
    Brown, Fraser
    Stefan, Deian
    Engler, Dawson
    PROCEEDINGS OF THE 29TH USENIX SECURITY SYMPOSIUM, 2020, : 199 - 216
  • [26] Investigating the Correspondence between Mutations and Static Warnings
    de Araujo, Caudio Antonio
    Delamaro, Marcio Eduardo
    Maldonado, Jose Carlos
    Rizzo Vincenzi, Auri Marcelo
    2015 29TH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, 2015, : 1 - 10
  • [27] LMDIFF: A Visual Diff Tool to Compare Language Models
    Strobelt, Hendrik
    Hoover, Benjamin
    Satyanarayan, Arvind
    Gehrmann, Sebastian
    2021 CONFERENCE ON EMPIRICAL METHODS IN NATURAL LANGUAGE PROCESSING (EMNLP 2021): PROCEEDINGS OF SYSTEM DEMONSTRATIONS, 2021, : 96 - 105
  • [28] Technical Debt indication in PLC Code for automated Production Systems: Introducing a Domain Specific Static Code Analysis Tool
    Bougouffa, Safa
    Dong, Quang Huan
    Diehm, Sebastian
    Gemein, Fabian
    Vogel-Heuser, Birgit
    IFAC PAPERSONLINE, 2018, 51 (10): : 70 - 75
  • [29] Improving Review of Clustered-code Analysis Warnings
    Muske, Tukaram
    2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 569 - 572
  • [30] Static code analysis
    Louridas, P
    IEEE SOFTWARE, 2006, 23 (04) : 58 - 61