2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) 2019
DOI: 10.1109/icse-companion.2019.00026
|View full text |Cite
|
Sign up to set email alerts
|

SMT-Based Refutation of Spurious Bug Reports in the Clang Static Analyzer

Abstract: We describe and evaluate a bug refutation extension for the Clang Static Analyzer (CSA) that addresses the limitations of the existing built-in constraint solver. In particular, we complement CSA's existing heuristics that remove spurious bug reports. We encode the path constraints produced by CSA as Satisfiability Modulo Theories (SMT) problems, use SMT solvers to precisely check them for satisfiability, and remove bug reports whose associated path constraints are unsatisfiable. Our refutation extension refut… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
7
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 11 publications
(7 citation statements)
references
References 13 publications
0
7
0
Order By: Relevance
“…In this sub-category, SMT solvers [40,120] or deductive verification (also called theorem proving) [50] are used to eliminate false positives [53,131,132,177]. For example, Nguyen et al [131,132] use deductive verification to eliminate false positives.…”
Section: Smt Solvers/deductive Verification-based Afpementioning
confidence: 99%
See 2 more Smart Citations
“…In this sub-category, SMT solvers [40,120] or deductive verification (also called theorem proving) [50] are used to eliminate false positives [53,131,132,177]. For example, Nguyen et al [131,132] use deductive verification to eliminate false positives.…”
Section: Smt Solvers/deductive Verification-based Afpementioning
confidence: 99%
“…For example, Nguyen et al [131,132] use deductive verification to eliminate false positives. In the studies that use SMT solvers for AFPE [53,177], for each alarm, constraints are generated that represent the conditions under which the alarm is an error. Then, the constraints are checked using a SMT solver to determine their satisfiability.…”
Section: Smt Solvers/deductive Verification-based Afpementioning
confidence: 99%
See 1 more Smart Citation
“…Tools like RATS [14], Flawfinder [40], and Infer [6] are of this type. However, they produce many false positives, a problem identified early on by [2,8,15], making these tools difficult to use effectively as part of the developer tool chain.…”
Section: Related Workmentioning
confidence: 99%
“…Also in software engineering many problems are closely related to planning. As an example, consider program analysis based on static analyzers [25], [39]. To check whether the reported bugs are spurious or real, state-of-the-art SMT constraint solvers can be used to synthesize the sequence of actions leading to the bug.…”
Section: Introductionmentioning
confidence: 99%