Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation 2002
DOI: 10.1145/512529.512539
|View full text |Cite
|
Sign up to set email alerts
|

A system and language for building system-specific, static analyses

Abstract: This paper presents a novel approach to bug-finding analysis and an implementation of that approach. Our goal is to find as many serious bugs as possible. To do so, we designed a flexible, easy-to-use extension language for specifying analyses and an efflcent algorithm for executing these extensions. The language, metal, allows the users of our system to specify a broad class of analyses in terms that resemble the intuitive description of the rules that they check. The system, xgcc, executes these analyses eff… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
17
0

Year Published

2004
2004
2016
2016

Publication Types

Select...
7

Relationship

1
6

Authors

Journals

citations
Cited by 212 publications
(18 citation statements)
references
References 16 publications
0
17
0
Order By: Relevance
“…The division of labor envisioned by Hallem et al [24] is that checkers only encode the property to check, leaving the mechanics of the actual checking to the compilation system. The compilation system facilitates checking by providing the necessary analysis infrastructure.…”
Section: Clang Static Analyzermentioning
confidence: 99%
See 1 more Smart Citation
“…The division of labor envisioned by Hallem et al [24] is that checkers only encode the property to check, leaving the mechanics of the actual checking to the compilation system. The compilation system facilitates checking by providing the necessary analysis infrastructure.…”
Section: Clang Static Analyzermentioning
confidence: 99%
“…Inter-procedural context-sensitive analysis in Clang SA is based on the graph reachability algorithm proposed by Reps et al [37]. Clang SA is also similar in spirit to Metal/xgcc [24].…”
Section: Related Workmentioning
confidence: 99%
“…Compared to the implementation described in [2] and [4], our technique differs in several aspects. In particular, we do not use metacompilation, automata are not input-language specific (a pattern matching is used instead), and the interprocedural analysis is done in the context of a single input file.…”
Section: Checkersmentioning
confidence: 99%
“…Metacompilation [10,26] is a static analysis technique looking for various kinds of errors specified by state machines. We explain the technique with use of the state machine SM (x) of Figure 1, which describes errors in lock manipulation.…”
Section: Introductionmentioning
confidence: 99%
“…At this point, we would like to emphasize that metacompilation actually uses a more sophisticated algorithm enriched with many techniques for partial elimination of false positives (see [26] for details). Metacompilation employs a dedicated language for description of state machines called Metal.…”
Section: Introductionmentioning
confidence: 99%