ACM Home Page
Please provide us with feedback. Feedback
Evaluating the benefits of context-sensitive points-to analysis using a BDD-based implementation
Full text PdfPdf (1.22 MB)
Source
ACM Transactions on Software Engineering and Methodology (TOSEM) archive
Volume 18 ,  Issue 1  (September 2008) table of contents
Article No. 3  
Year of Publication: 2008
ISSN:1049-331X
Authors
Ondřej Lhoták  University of Waterloo, Waterloo, ON, Canada
Laurie Hendren  McGill University, Montreal, QC, Canada
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 27,   Downloads (12 Months): 256,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1391984.1391987
What is a DOI?

ABSTRACT

We present Paddle, a framework of BDD-based context-sensitive points-to and call graph analyses for Java, as well as client analyses that use their results. Paddle supports several variations of context-sensitive analyses, including call site strings and object sensitivity, and context-sensitively specializes both pointer variables and the heap abstraction. We empirically evaluate the precision of these context-sensitive analyses on significant Java programs. We find that that object-sensitive analyses are more precise than comparable variations of the other approaches, and that specializing the heap abstraction improves precision more than extending the length of context strings.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
3
 
4
Ananian, C. S. 2006. JavaCUP. http://www2.cs.tum.edu/projects/cup/.
 
5
Andersen, L. O. 1994. Program analysis and specialization for the C programming language. Ph.D. thesis, DIKU report 94/19, DIKU, University of Copenhagen.
6
7
 
8
Berndl, M., Lhoták, O., Qian, F., Hendren, L., and Umanee, N. 2002. Points-to analysis using BDDs. Tech. rep. 2002-10, Sable Research Group, McGill University.
9
10
 
11
Burke, M., Carini, P., Choi, J., and Hind, M. 1997. Interprocedural pointer alias analysis. Tech. rep. RC 21055, IBM T. J. Watson Research Center.
 
12
 
13
Cahoon, B. and McKinley, K. S. 2001b. JOlden benchmarks. ftp://ftp.cs.umass.edu/pub/o8l/benchmarks/jolden.tar.gz.
14
 
15
DaCapo Project. 2005. The DaCapo benchmark suite. http://www-ali.cs.umass.edu/DaCapo/gcbm.html.
 
16
17
 
18
Dufour, B. 2004. Objective quantification of program behaviour using dynamic metrics. M.S. thesis, McGill University.
19
20
21
 
22
 
23
Gagnon, E. M., Menking, B., Nowostawski, M., Agbakpem, K., and Gergely, K. 2006. SableCC parser generator. http://sablecc.org.
 
24
 
25
Gilbert, D. 2006. JFreechart. http://jfree.org/jfreechart.
26
27
 
28
Heintze, N. 1999. Analysis of large code bases: the compile-link-analyze model. http://citeseer,ist,psu.edu/heintze99analysis.html.
29
30
31
32
 
33
Lhoták, O. 2002. Spark: A flexible points-to analysis framework for Java. M.S. thesis, McGill University.
 
34
Lhoták, O. 2006. Program analysis using binary decision diagrams. Ph.D. thesis, McGill University.
 
35
Lhoták, O. and Hendren, L. 2003. Scaling Java points-to analysis using Spark. In Proceedings of the 12th International Conference on Compiler Construction, G. Hedin, Ed. Lecture Notes in Computer Science, vol. 2622. Springer, 153--169.
36
 
37
Lhoták, O. and Hendren, L. 2006. Context-sensitive points-to analysis: is it worth it? In Proceedings of the 15th International Conference on Compiler Construction, A. Mycroft and A. Zeller, Eds. Lecture Notes in Computer Science, vol. 3923. Springer, Vienna, 47--64.
38
39
40
 
41
Lind-Nielsen, J. 2006. BuDDy, A Binary Decision Diagram Package. http://sourceforge,net/projects/buddy.
 
42
 
43
Manevich, R. 2003. Data structures and algorithms for efficient shape analysis. M.S. thesis, School of Computer Science, Tel-Aviv University, Israel.
 
44
 
45
46
47
 
48
49
 
50
Nystrom, N., Clarkson, M. R., and Myers, A. C. 2003. Polyglot: An extensible compiler framework for Java. In Proceedings of the 12th International Conference on Compiler Construction. Lecture Notes in Computer Science, vol. 2622. 138--152.
51
52
53
 
54
Ryder, B. G. 2003. Dimensions of precision in reference analysis of object-oriented programming languages. In Proceedings of the 12th International Conference on Compiler Construction (CC'03). G. Hedin, Ed. Lecture Notes in Computer Science, vol. 2622. Springer, 126--137.
55
56
 
57
Sharir, M. and Pnueli, A. 1981. Two approaches to interprocedural data flow analysis. In Program Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones, Eds. Prentice-Hall, Chapter 7, 189--233.
58
59
60
 
61
Somenzi, F. 2006. CUDD: CU Decision Diagram Package. http://vlsi.colorado.edu/~fabio/CUDD.
 
62
Standard Performance Evaluation Corporation. 1998. SPEC JVM98 benchmarks. http://www. spec.org/osg/jvm/(Aug 10, 2006).
63
64
65
66
 
67
Vallée-Rai, R. 2000. Ashes suite collection. http://www.sable.mcgill.ca/ashes.
 
68
69
 
70
 
71
 
72
73
74
75
76
77


Collaborative Colleagues:
Ondřej Lhoták: colleagues
Laurie Hendren: colleagues