A Critical Comparison on Six Static Analysis Tools: Detection, Agreement, and Precision
Not on the map. Why?
Abstract (arXiv)
Background. Developers use Automated Static Analysis Tools (ASATs) to control for potential quality issues in source code, including defects and technical debt. Tool vendors have devised quite a number of tools, which makes it harder for practitioners to select the most suitable one for their needs. To better support developers, researchers have been conducting several studies on ASATs to favor the understanding of their actual capabilities. Aims. Despite the work done so far, there is still a lack of knowledge regarding (1) which source quality problems can actually be detected by static analysis tool warnings, (2) what is their agreement, and (3) what is the precision of their recommendations. We aim at bridging this gap by proposing a large-scale comparison of six popular static analysis tools for Java projects: Better Code Hub, CheckStyle, Coverity Scan, Findbugs, PMD, and SonarQube. Method. We analyze 47 Java projects and derive a taxonomy of warnings raised by 6 state-of-the-practice ASATs. To assess their agreement, we compared them by manually analyzing - at line-level - whether they identify the same issues. Finally, we manually evaluate the precision of the tools. Results. The key results report a comprehensive taxonomy of ASATs warnings, show little to no agreement among the tools and a low degree of precision. Conclusions. We provide a taxonomy that can be useful to researchers, practitioners, and tool vendors to map the current capabilities of the tools. Furthermore, our study provides the first overview on the agreement among different tools as well as an extensive analysis of their precision.
Key facts. Cited by 9 papers in the map (data through 7 Oct 2026). First posted on arXiv 21 Jan 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 1; 2022: 0; 2023: 0; 2024: 0; 2025: 6; 2026: 2.
9 papers.
- 2025Security and Quality in LLM-Generated Code: A Multi-Language, Multi-Model Analysiscited by 18
- 2025Combining Large Language Models with Static Analyzers for Code Review Generationcited by 6
- 2025How Safe Are AI-Generated Patches? A Large-scale Study on Security Risks in LLM and Agentic Automated Program Repair on SWE-benchcited by 5
- 2026Sifting the Noise: A Comparative Study of LLM Agents in Vulnerability False Positive Filteringcited by 5
- 2021Follow Your Nose -- Which Code Smells are Worth Chasing?cited by 4
- 2025Do Prompt Patterns Affect Code Quality? A First Empirical Assessment of ChatGPT-Generated Codecited by 4
- 2025What Were You Thinking? An LLM-Driven Large-Scale Study of Refactoring Motivations in Open-Source Projectscited by 4
- 2026RefactorAssist: Agentic Refinement for Reliable Code Refactoringcited by 1
- 2025On the Effectiveness of Instruction-Tuning Local LLMs for Identifying Software Vulnerabilitiescited by 0
- 2026RefactorAssist: Agentic Refinement for Reliable Code Refactoring2 Aug 2026
- 2026Sifting the Noise: A Comparative Study of LLM Agents in Vulnerability False Positive Filtering30 Jan 2026
- 2025On the Effectiveness of Instruction-Tuning Local LLMs for Identifying Software Vulnerabilities23 Dec 2025
- 2025What Were You Thinking? An LLM-Driven Large-Scale Study of Refactoring Motivations in Open-Source Projects9 Sep 2025
- 2025How Safe Are AI-Generated Patches? A Large-scale Study on Security Risks in LLM and Agentic Automated Program Repair on SWE-bench30 Jun 2025
- 2025Do Prompt Patterns Affect Code Quality? A First Empirical Assessment of ChatGPT-Generated Code18 Apr 2025
- 2025Combining Large Language Models with Static Analyzers for Code Review Generation10 Feb 2025
- 2025Security and Quality in LLM-Generated Code: A Multi-Language, Multi-Model Analysis3 Feb 2025
- 2021Follow Your Nose -- Which Code Smells are Worth Chasing?2 Mar 2021