Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '98 1998
DOI: 10.1145/268946.268948
|View full text |Cite
|
Sign up to set email alerts
|

Alias analysis of executable code

Abstract: Recent years have seen increasing interest in systems that reason about and manipulate executable code. Such systems can generally bene t from information about aliasing. Unfortunately, most existing alias analyses are formulated in terms of high-level language features, and are unable to cope with features, such as pointer arithmetic, that pervade executable programs. This paper describes a simple algorithm that can be used to obtain aliasing information for executable code. In order to be practical, the algo… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
65
0

Year Published

2000
2000
2005
2005

Publication Types

Select...
5
3

Relationship

0
8

Authors

Journals

citations
Cited by 98 publications
(69 citation statements)
references
References 36 publications
0
65
0
Order By: Relevance
“…Andersen's [4] and Steensgaard's [29] points-to analyses are only two choices in a vast array of possible alias analyses, among them [5,6,7,8,9,10,11,15,19,20,27,28,31,33,34]. As our results suggest, the benefit of polymorphism (more generally, context-sensitivity) may vary greatly with the particular analysis.…”
Section: Related Workmentioning
confidence: 75%
“…Andersen's [4] and Steensgaard's [29] points-to analyses are only two choices in a vast array of possible alias analyses, among them [5,6,7,8,9,10,11,15,19,20,27,28,31,33,34]. As our results suggest, the benefit of polymorphism (more generally, context-sensitivity) may vary greatly with the particular analysis.…”
Section: Related Workmentioning
confidence: 75%
“…Debray, Muth and Weippert [DMW98] presented an alias analysis and evaluated their algorithm by measuring the percentage reduction in dynamic loads when using this analysis in a redundant load elimination optimization. However, they did not provide execution time measurements.…”
Section: Impact Of Side-effect Analysis In Optimizationsmentioning
confidence: 99%
“…This is crucial for analyzing executables because numeric values and addresses are indistinguishable at runtime. Moreover, unlike earlier algorithms that analyze executables [8,11], VSA takes into account data manipulations involving memory locations also. To track the contents of memory locations, the initial run of VSA uses the variables recovered via the Semi-Naïve approach from §3.1.…”
Section: Value-set Analysis (Vsa)mentioning
confidence: 99%
“…Previous techniques deal with memory accesses very conservatively; generally, if a register is assigned a value from memory, it is assumed to take on any value. For instance, although the basic goal of the algorithm proposed by Debray et al [11] is similar to that of VSA, their goal is to find an over-approximation of the set of values that each register can hold at each program point; for us, it is to find an over-approximation of the set of values that each (abstract) data object can hold at each program point, where data objects include global, stack-allocated, and heap-allocated memory locations in addition to registers. In the analysis proposed by Debray et al, a set of addresses is approximated by a set of congruence values: they keep track of only the low-order bits of addresses.…”
Section: Related Workmentioning
confidence: 99%