Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications 2009
DOI: 10.1145/1640089.1640108
|View full text |Cite
|
Sign up to set email alerts
|

Strictly declarative specification of sophisticated points-to analyses

Abstract: We present the D framework for points-to analysis of Java programs. D builds on the idea of specifying pointer analysis algorithms declaratively, using Datalog: a logicbased language for defining (recursive) relations. We carry the declarative approach further than past work by describing the full end-to-end analysis in Datalog and optimizing aggressively using a novel technique specifically targeting highly recursive Datalog programs.As a result, D achieves several benefits, including full order-of-m… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
196
0

Year Published

2012
2012
2023
2023

Publication Types

Select...
3
3

Relationship

0
6

Authors

Journals

citations
Cited by 259 publications
(196 citation statements)
references
References 30 publications
0
196
0
Order By: Relevance
“…We analyzed both the DaCapo benchmark programs, v.2006-10-MR2 [3], and the SPEC JVM 98 benchmark programs [29] with JDK 1.4 (jre1.4.2.11) which is larger than JDK 1.3 used by Lhoták and Hendren [20] and similar to JDK 1.4 used by Bravenboer and Smaragdakis [6]. We also evaluate the soundness of the call graphs generated by Cgc by comparing them to the dynamic call graphs recorded at run time using the *J tool [11].…”
Section: Methodsmentioning
confidence: 99%
See 4 more Smart Citations
“…We analyzed both the DaCapo benchmark programs, v.2006-10-MR2 [3], and the SPEC JVM 98 benchmark programs [29] with JDK 1.4 (jre1.4.2.11) which is larger than JDK 1.3 used by Lhoták and Hendren [20] and similar to JDK 1.4 used by Bravenboer and Smaragdakis [6]. We also evaluate the soundness of the call graphs generated by Cgc by comparing them to the dynamic call graphs recorded at run time using the *J tool [11].…”
Section: Methodsmentioning
confidence: 99%
“…For ease of modification and experimentation, Cgc is implemented in Datalog. 3 Cgc uses a pointer analysis that is based on the context-insensitive pointer analysis from the Doop framework [6]. However, the analysis is independent of Datalog, and could be transcribed into Java to be embedded into an analysis framework such as Soot or Wala.…”
Section: Cgc Overviewmentioning
confidence: 99%
See 3 more Smart Citations