2007
DOI: 10.1145/1216374.1216379
|View full text |Cite
|
Sign up to set email alerts
|

Fast online pointer analysis

Abstract: Pointer analysis benefits many useful clients, such as compiler optimizations and bug finding tools. Unfortunately, common programming language features, such as dynamic loading, reflection, and foreign language interfaces, make pointer analysis difficult. This paper describes how to deal with these features by performing pointer analysis online, during program execution. For example, dynamic loading may load code that is not available for analysis before the program starts.Only an online analysis can analyze … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
33
0
1

Year Published

2008
2008
2023
2023

Publication Types

Select...
4
3
2

Relationship

1
8

Authors

Journals

citations
Cited by 48 publications
(34 citation statements)
references
References 79 publications
(66 reference statements)
0
33
0
1
Order By: Relevance
“…Livshits et al [33] proposed a static reflection resolution algorithm, which approximates the target of reflective calls as part of call graph construction, complemented by user provided specifications for reflective calls that rely on application input. Hirzel et al [22,21] presented an online version of Andersen's points-to analysis [2] that executes alongside the program, as an extension to the Jikes RVM [1], an open-source Java Research Virtual Machine. Thus the analysis has access to the new code as its loaded.…”
Section: Dynamic Featuresmentioning
confidence: 99%
“…Livshits et al [33] proposed a static reflection resolution algorithm, which approximates the target of reflective calls as part of call graph construction, complemented by user provided specifications for reflective calls that rely on application input. Hirzel et al [22,21] presented an online version of Andersen's points-to analysis [2] that executes alongside the program, as an extension to the Jikes RVM [1], an open-source Java Research Virtual Machine. Thus the analysis has access to the new code as its loaded.…”
Section: Dynamic Featuresmentioning
confidence: 99%
“…The static analysis can run during the warm-up period of the application, so that the region information is available to the JIT compiler when it optimizes a method. Or the runtime system can perform the pointer analysis online during program execution as proposed by Hirzel et al [21]. Because of the explicitly marked memory regions, the static analysis does not need to analyze all Java code (e.g., the whole JDK).…”
Section: Region Analysis Operationmentioning
confidence: 99%
“…Type masks are created before the propagation and are used for type filtering during the propagation [9]. The suitable type mask is determined based on type of the points-to set containing the bit-vector.…”
Section: Ranged Bit-vectorsmentioning
confidence: 99%
“…Previous works have implemented efficient and compact points-to sets which make the overall analysis more efficient [2]- [8]. Points-to sets which are represented based on bit-vectors [4], [5], [9] and points-to sets which are represented and manipulated based on BDD relations are shown to be more efficient [2], [3], [6], [7], [8], [10]. In this paper we utilize bit-vector representation of points-to sets.…”
Section: Introductionmentioning
confidence: 99%