Understanding and Detecting Annotation-Induced Faults of Static
Analyzers
- URL: http://arxiv.org/abs/2402.14366v1
- Date: Thu, 22 Feb 2024 08:09:01 GMT
- Title: Understanding and Detecting Annotation-Induced Faults of Static
Analyzers
- Authors: Huaien Zhang and Yu Pei and Shuyun Liang and Shin Hwei Tan
- Abstract summary: This paper presents the first comprehensive study of annotation-induced faults (AIF)
We analyzed 246 issues in six open-source and popular static analyzers (i.e., PMD, SpotBugs, CheckStyle, Infer, SonarQube, and Soot)
- Score: 4.824956210843882
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Static analyzers can reason about the properties and behaviors of programs
and detect various issues without executing them. Hence, they should extract
the necessary information to understand the analyzed program well. Annotation
has been a widely used feature for different purposes in Java since the
introduction of Java 5. Annotations can change program structures and convey
semantics information without awareness of static analyzers, consequently
leading to imprecise analysis results. This paper presents the first
comprehensive study of annotation-induced faults (AIF) by analyzing 246 issues
in six open-source and popular static analyzers (i.e., PMD, SpotBugs,
CheckStyle, Infer, SonarQube, and Soot). We analyzed the issues' root causes,
symptoms, and fix strategies and derived ten findings and some practical
guidelines for detecting and repairing annotation-induced faults. Moreover, we
developed an automated testing framework called AnnaTester based on three
metamorphic relations originating from the findings. AnnaTester generated new
tests based on the official test suites of static analyzers and unveiled 43 new
faults, 20 of which have been fixed. The results confirm the value of our study
and its findings.
Related papers
- An Empirical Study of False Negatives and Positives of Static Code Analyzers From the Perspective of Historical Issues [6.463945330904755]
We conduct the first systematic study on a broad range of 350 historical issues of false negatives (FNs) and false positives (FPs) from three popular static code analyzers.
This strategy successfully found 14 new issues of FNs/FPs, 11 of which have been confirmed and 9 have already been fixed by the developers.
arXiv Detail & Related papers (2024-08-25T14:57:59Z) - Scaling Symbolic Execution to Large Software Systems [0.0]
Symbolic execution is a popular static analysis technique used both in program verification and in bug detection software.
We focus on an error finding framework called the Clang Static Analyzer, and the infrastructure built around it named CodeChecker.
arXiv Detail & Related papers (2024-08-04T02:54:58Z) - Customizing Static Analysis using Codesearch [1.7205106391379021]
A commonly used language to describe a range of static analysis applications is Datalog.
We aim to make building custom static analysis tools much easier for developers, while at the same time providing a familiar framework for application security and static analysis experts.
Our approach introduces a language called StarLang, a variant of Datalog which only includes programs with a fast runtime.
arXiv Detail & Related papers (2024-04-19T09:50:02Z) - Supporting Error Chains in Static Analysis for Precise Evaluation
Results and Enhanced Usability [2.8557828838739527]
Static analyses tend to report where a vulnerability manifests rather than the fix location.
This can cause presumed false positives or imprecise results.
We designed an adaption of an existing static analysis algorithm that can distinguish between a manifestation and fix location.
arXiv Detail & Related papers (2024-03-12T16:46:29Z) - Text2Analysis: A Benchmark of Table Question Answering with Advanced
Data Analysis and Unclear Queries [67.0083902913112]
We develop the Text2Analysis benchmark, incorporating advanced analysis tasks.
We also develop five innovative and effective annotation methods.
We evaluate five state-of-the-art models using three different metrics.
arXiv Detail & Related papers (2023-12-21T08:50:41Z) - The Unreliability of Explanations in Few-Shot In-Context Learning [50.77996380021221]
We focus on two NLP tasks that involve reasoning over text, namely question answering and natural language inference.
We show that explanations judged as good by humans--those that are logically consistent with the input--usually indicate more accurate predictions.
We present a framework for calibrating model predictions based on the reliability of the explanations.
arXiv Detail & Related papers (2022-05-06T17:57:58Z) - Learning to Reduce False Positives in Analytic Bug Detectors [12.733531603080674]
We propose a Transformer-based learning approach to identify false positive bug warnings.
We demonstrate that our models can improve the precision of static analysis by 17.5%.
arXiv Detail & Related papers (2022-03-08T04:26:26Z) - Auditing AI models for Verified Deployment under Semantic Specifications [65.12401653917838]
AuditAI bridges the gap between interpretable formal verification and scalability.
We show how AuditAI allows us to obtain controlled variations for verification and certified training while addressing the limitations of verifying using only pixel-space perturbations.
arXiv Detail & Related papers (2021-09-25T22:53:24Z) - D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using
Differential Analysis [55.15995704119158]
We propose D2A, a differential analysis based approach to label issues reported by static analysis tools.
We use D2A to generate a large labeled dataset to train models for vulnerability identification.
arXiv Detail & Related papers (2021-02-16T07:46:53Z) - Evaluations and Methods for Explanation through Robustness Analysis [117.7235152610957]
We establish a novel set of evaluation criteria for such feature based explanations by analysis.
We obtain new explanations that are loosely necessary and sufficient for a prediction.
We extend the explanation to extract the set of features that would move the current prediction to a target class.
arXiv Detail & Related papers (2020-05-31T05:52:05Z) - The Curse of Performance Instability in Analysis Datasets: Consequences,
Source, and Suggestions [93.62888099134028]
We find that the performance of state-of-the-art models on Natural Language Inference (NLI) and Reading (RC) analysis/stress sets can be highly unstable.
This raises three questions: (1) How will the instability affect the reliability of the conclusions drawn based on these analysis sets?
We give both theoretical explanations and empirical evidence regarding the source of the instability.
arXiv Detail & Related papers (2020-04-28T15:41:12Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.