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

Sound, complete and scalable path-sensitive analysis

Abstract: We present a new, precise technique for fully path-and contextsensitive program analysis. Our technique exploits two observations: First, using quantified, recursive formulas, path-and contextsensitive conditions for many program properties can be expressed exactly. To compute a closed form solution to such recursive constraints, we differentiate between observable and unobservable variables, the latter of which are existentially quantified in our approach. Using the insight that unobservable variables can be … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
71
0

Year Published

2010
2010
2021
2021

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 100 publications
(71 citation statements)
references
References 22 publications
(13 reference statements)
0
71
0
Order By: Relevance
“…An incremental analysis based on incremental specifications such as those found in formal models is presented in [15], while we do not rely on specifications. The notion of summary has been previously used in other contexts [29,13] different from incremental analysis. It is also worth mentioning recent work on incremental analysis [16] which defines an incremental analysis via domain specific solvers, for declarative modeling language based on first-order logic with sets and relations.…”
Section: Related Workmentioning
confidence: 99%
“…An incremental analysis based on incremental specifications such as those found in formal models is presented in [15], while we do not rely on specifications. The notion of summary has been previously used in other contexts [29,13] different from incremental analysis. It is also worth mentioning recent work on incremental analysis [16] which defines an incremental analysis via domain specific solvers, for declarative modeling language based on first-order logic with sets and relations.…”
Section: Related Workmentioning
confidence: 99%
“…For example, Saturn [7] is a scalable analysis engine that is both sound and complete with respect to the user-provided abstraction, written in its Calypso language. This framework enables the programmer to manually refine and optimize the abstraction for each specific analysis task.…”
Section: Related Workmentioning
confidence: 99%
“…In general, model checking based tools are precise but do not scale to practical programs [14], while scalable tools using specially designed algorithms are often imprecise [4,6,7]. For example, Saturn [7] is a scalable static analysis engine that is both sound and complete with respect to the userprovided analysis script. Writing a script that is sound and complete with respect to the target program, however, is as difficult as writing an analysis engine itself.…”
Section: Introductionmentioning
confidence: 99%
“…However, there has been a lot of research done in the context of other languages. Examples of approaches to path-sensitive static analysis include [6], [7], [15], [8], [2], [16].…”
Section: State Of the Artmentioning
confidence: 99%