ACM Home Page
Please provide us with feedback. Feedback
Symbolic pointer analysis
Full text PdfPdf (112 KB)
Source International Conference on Computer Aided Design archive
Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design table of contents
San Jose, California
Pages: 150 - 157  
Year of Publication: 2002
ISBN ~ ISSN:1092-3152 , 0-7803-7607-2
Author
Jianwen Zhu  University of Toronto, Ontario, Canada
Sponsors
: IEEE Circuits & Systems Society
IEEE-CS\DATC : IEEE Computer Society
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 32,   Citation Count: 9
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

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

ABSTRACT

One of the bottlenecks in the recent movement of hardware synthesis from behavioral C programs is the difficulty in reasoning about runtime pointer values at compile time. The pointer analysis problem has been investigated in the compiler community for two decades, which has yielded efficient, polynomial time algorithms for context-insensitive analysis. However, at the accuracy level for which hardware synthesis is desired, namely context and flow sensitive analysis, the time and space complexity of the best algorithms reported grow exponentially with program size. In this paper, we present our first step towards a new analysis technology which potentially leads to almost-linear time complexity and sub-linear space complexity algorithm even for the most accurate analysis. The key idea that contributes to this efficiency is to implicitly encode the pointer-to relation in the Boolean domain, thereby capturing the procedure transfer function completely, compactly and canonically. This represents a wide departure from the traditional techniques, all of which explicitly capture pointer-to relation using variations of point-to graph, which have to be re-evaluated for different calling contexts. Experiments for our first flow-insensitive algorithm on common benchmarks show promising result.


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
O. Andersen, Program Analysis and Specialization for the C Programming Language, Ph.D. thesis, Computer Science Department, University of Copenhagen, 1994.
3
4
 
5
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, November 1990, pp. 126--129.
 
6
 
7
8
9
 
10
 
11
L. Semeria and G. De Micheli, "Resolution, optimization, and encoding of pointer variables for the behavioral synthesis from c," IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, February 2001.
12
 
13
14
15
 
16
F. Somenzi, "CUDD: Binary decision diagram package release," http://vlsi.Colorado.EDU/~fabio/CUDD/cuddIntro.html, 1998.
 
17
L. Hendren et al, "Mccat compiler project," http://www-acaps.cs.mcgill.ca/~benadmin/benchmarks/.
 
18
W. Landi et al, "Prolangs analysis framework," http://www.prolangs.rutgers.edu.

CITED BY  9