A Study of Static Warning Cascading Tools (Experience Paper)

05/04/2023
by   Xiuyuan Guo, et al.
0

Static analysis is widely used for software assurance. However, static analysis tools can report an overwhelming number of warnings, many of which are false positives. Applying static analysis to a new version, a large number of warnings can be only relevant to the old version. Inspecting these warnings is a waste of time and can prevent developers from finding the new bugs in the new version. In this paper, we report the challenges of cascading warnings generated from two versions of programs. We investigated program differencing tools and extend them to perform warning cascading automatically. Specifically, we used textual based diff tool, namely SCALe, abstract syntax tree (AST) based diff tool, namely GumTree, and control flow graph (CFG) based diff tool, namely Hydrogen. We reported our experience of applying these tools and hopefully our findings can provide developers understandings of pros and cons of each approach. In our evaluation, we used 96 pairs of benchmark programs for which we know ground-truth bugs and fixes as well as 12 pairs of real-world open-source projects. Our tools and data are available at https: //github.com/WarningCas/WarningCascading_Data.

READ FULL TEXT
research
04/10/2023

QChecker: Detecting Bugs in Quantum Programs via Static Analysis

Static analysis is the process of analyzing software code without execut...
research
11/04/2019

An Expert System for Learning Software Engineering Knowledge (with Case Studies in Understanding Static Code Warning)

Knowledge-based systems reason over some knowledge base. Hence, an impor...
research
07/20/2018

Uma análise comparativa de ferramentas de análise estática para deteção de erros de memória

— Portuguese version As falhas de software estão com frequência associ...
research
03/09/2021

gambit – An Open Source Name Disambiguation Tool for Version Control Systems

Name disambiguation is a complex but highly relevant challenge whenever ...
research
01/11/2019

Static Analysis for Asynchronous JavaScript Programs

Asynchrony has become an inherent element of JavaScript, as an effort to...
research
09/25/2022

Using Multiple Code Representations to Prioritize Static Analysis Warnings

In order to ensure the quality of software and prevent attacks from hack...
research
09/18/2023

ACWRecommender: A Tool for Validating Actionable Warnings with Weak Supervision

Static analysis tools have gained popularity among developers for findin...

Please sign up or login with your details

Forgot password? Click here to reset