ACM Home Page
Please provide us with feedback. Feedback
Symbolic pointer analysis revisited
Full text PdfPdf (257 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation table of contents
Washington DC, USA
SESSION: Pointer analysis and BDDs table of contents
Pages: 145 - 157  
Year of Publication: 2004
ISBN:1-58113-807-5
Also published in ...
Authors
Jianwen Zhu  University of Toronto, ON, Canada
Silvian Calman  University of Toronto, ON, Canada
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 72,   Citation Count: 18
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/996841.996860
What is a DOI?

ABSTRACT

Pointer analysis is a critical problem in optimizing compiler, parallelizing compiler, software engineering and most recently, hardware synthesis. While recent efforts have suggested symbolic method, which uses Bryant's Binary Decision Diagram as an alternative to capture the point-to relation, no speed advantage has been demonstrated for context-insensitive analysis, and results for context-sensitive analysis are only preliminary.In this paper, we refine the concept of symbolic transfer function proposed earlier and establish a common framework for both context-insensitive and context-sensitive pointer analysis. With this framework, our transfer function of a procedure can abstract away the impact of its callers and callees, and represent its point-to information completely, compactly and canonically. In addition, we propose a symbolic representation of the invocation graph, which can otherwise be exponentially large. In contrast to the classical frameworks where context-sensitive point-to information of a procedure has to be obtained by the application of its transfer function exponentially many times, our method can obtain point-to information of all contexts in a single application. Our experimental evaluation on a wide range of C benchmarks indicates that our context-sensitive pointer analysis can be made almost as fast as its context-insensitive counterpart.


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
SPEC CPU2000 benchmarks. http://www.specbench.org/cpu2000/.
 
2
S. B. Akers. Binary decision diagrams. IEEE Transactions on Computer, C-27(6):509--516, June 1978.
 
3
O. Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, Computer Science Department, University of Copenhagen, 1994.
 
4
T. Ball and T. Millstein. Polymorphic predicate abstraction. Technical Report MSR-TR-2001-10, Microsoft Research, June 24, 2003.
5
 
6
 
7
J. R. Burch, E. M. Clarke, and D. E. Long. Symbolic model checking with partitioned transition relations. In International Conference on Very Large Scale Integration, Edinburgh, Scotland, 1991.
 
8
J. R. Burch, E. M. Clarke, D. E. Long, K. L. McMillan, and D. L. Dill. Symbolic model checking for sequential circuit verification. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, (13), 1994.
 
9
J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. Symbolic model checking: 1020 states and beyond. In Proceedings of the Fifth Annual IEEE Symposium on Logic in Computer Science, Washington, DC, 1990.
10
11
 
12
O. Coudert, C. Berthet, and J. C. Madre. A unified framework for the formal verification of sequential circuits. In Proceedings of the International Conference on Computer-Aided Design, pages 126--129, November 1990.
 
13
O. Coudert and J. C. Madre. Symbolic computation of the valid states of a sequential machine: Algorithms and discussion. In ACM Workshop on Formal Methods in VLSI Design, 1991.
14
15
16
 
17
 
18
19
20
21
 
22
23
24
 
25
26
 
27
28
29
30
31
 
32
B. Ryder. Prolangs analysis framework. http://www.prolangs.rutgers.edu.
33
 
34
M. Sharir and A. Pnueli. Two approaches to interprocedural data flow analysis. In Program Flow Analysis: Theory and Applications, pages 189--234. Prentice Hall, 1981.
 
35
F. Somenzi. CUDD: Binary decision diagram package release. http://vlsi.Colorado.EDU/fabio/CUDD/cuddIntro.html, 1998.
36
 
37
R. Tarjan. Depth first search and linear graph algorithms. SIAM Journal of Computing, 1(2):146--160, 1972.
38
39
40
41

CITED BY  18

Collaborative Colleagues:
Jianwen Zhu: colleagues
Silvian Calman: colleagues