Lecture Notes in Computer Science
DOI: 10.1007/978-3-540-78791-4_15
|View full text |Cite
|
Sign up to set email alerts
|

Efficiency, Precision, Simplicity, and Generality in Interprocedural Data Flow Analysis: Resurrecting the Classical Call Strings Method

Abstract: Abstract. The full call strings method is the most general, simplest, and most precise method of performing context sensitive interprocedural data flow analysis. It remembers contexts using call strings. For full precision, all call strings up to a prescribed length must be constructed. Two limitations of this method are (a) it cannot be used for frameworks with infinite lattices, and (b) the prescribed length is quadratic in the size of the lattice resulting in an impractically large number of call strings. T… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
19
0

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 23 publications
(19 citation statements)
references
References 31 publications
0
19
0
Order By: Relevance
“…Their empirical results show that this is enough for achieving high precision and can significantly reduce the analysis time. Besides [32], Khedker and Karkare [33] also modify the classical call string method by identifying contexts which need not be explicitly maintained. This reduces the number of calling contexts dramatically without compromising on the precision, generality and simplicity of the method.…”
Section: Related Workmentioning
confidence: 98%
See 1 more Smart Citation
“…Their empirical results show that this is enough for achieving high precision and can significantly reduce the analysis time. Besides [32], Khedker and Karkare [33] also modify the classical call string method by identifying contexts which need not be explicitly maintained. This reduces the number of calling contexts dramatically without compromising on the precision, generality and simplicity of the method.…”
Section: Related Workmentioning
confidence: 98%
“…Our contribution-based call stack abstraction method suggests a possible direction for improving the context-sensitive pointer analysis. The work in [8,33] merges calling contexts to speed up the analysis. In fact, we also improve the analysis by some kind of context merging.…”
Section: Related Workmentioning
confidence: 99%
“…Most cloning-based approaches approximate recursion in an ad hoc manner. An exception is the work of Khedker et al [KMR12,KK08] which maintains a single representative call string for each equivalence class. Unlike the above approaches, it does not approximate recursion in an ad hoc manner, and yet it is efficient in practice by avoiding the computation of redundant call-string contexts.…”
Section: Related Workmentioning
confidence: 99%
“…In data flow analysis, a program is usually represented by its CFO [1,7]. For example, the CFO corresponding to the following SimC program code is shown in Figure 2.…”
Section: A Representation Ofcfgmentioning
confidence: 99%
“…The goal of reaching definition analysis determines which particular definitions of each variable may, by some control flow path, reach any particular point in the program [6]. This is a forward analysis [1, 6,7]. To do this we introduce predicates killrdO and genrdO.…”
Section: B Knowledge Representation For Reaching Definitions Analysismentioning
confidence: 99%