1999
DOI: 10.1007/978-3-662-03811-6
|View full text |Cite
|
Sign up to set email alerts
|

Principles of Program Analysis

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

2
1,002
0
6

Year Published

2003
2003
2014
2014

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 1,160 publications
(1,010 citation statements)
references
References 0 publications
2
1,002
0
6
Order By: Relevance
“…For efficiency reasons, we will utilize an independent attributes analysis [20], an analysis that does not maintain the correlation between different predicate values. Specifically, the set of concrete states arising at a program point will be abstracted by a value in P → {f alse, maybe}.…”
Section: Background: Distributive Predicate Abstractionsmentioning
confidence: 99%
“…For efficiency reasons, we will utilize an independent attributes analysis [20], an analysis that does not maintain the correlation between different predicate values. Specifically, the set of concrete states arising at a program point will be abstracted by a value in P → {f alse, maybe}.…”
Section: Background: Distributive Predicate Abstractionsmentioning
confidence: 99%
“…Since in the implementation of JErlang, we perform isolated tests only for patterns, without taking into consideration the body of the join, the former would create multiple false unused variable warnings by the compiler. Therefore we perform a simplified (syntax) Reaching Definitions Analysis [9]. This allows us to create valid test functions for patterns: we leave the original name for the bound variables and substitute the unbound variables with the neutral as presented in listing 9.…”
Section: Methodsmentioning
confidence: 99%
“…To avoid unbound variable errors and execute the partial matching tests on non-linear patterns as soon as possible, we perform a variant of static Live Variable Analysis [9]. This enables us to determine whether the variable in the test for partial joins should be substituted with the neutral or left unchanged because it used more than once in the join.…”
Section: Methodsmentioning
confidence: 99%
“…A classical example is the Reaching Definitions analysis which determines, for each node in a flowchart, which definitions (assignments) reach it [19]. The results of this analysis might be used to perform a constant folding transformation of the program.…”
Section: Classical Abstract Interpretationmentioning
confidence: 99%
“…Often the properties that we are interested in are undecidable and so correctness is replaced by some approximation notion. We start by sketching the classical approach to semantics-based program analysis: abstract interpretation [4,19]. The semantics of a program f identifies some set V of values and specifies how the program transforms one value v 1 to another v 2 .…”
Section: Classical Abstract Interpretationmentioning
confidence: 99%