ACM Home Page
Please provide us with feedback. Feedback
Undecidability of context-sensitive data-independence analysis
Full text PdfPdf (229 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 22 ,  Issue 1  (January 2000) table of contents
Pages: 162 - 186  
Year of Publication: 2000
ISSN:0164-0925
Author
Thomas Reps  Univ. of Wisconsin
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 38,   Citation Count: 13
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/345099.345137
What is a DOI?

ABSTRACT

A number of program-analysis problems can be tackled by transforming them into certain kinds of graph-reachability problems in labeled directed graphs. The edge labels can be used to filter out paths that are not interest: a path P from vertex s to vertex t only counts as a“valid connection” between s and t if the word spelled out by P is in a certain language. Often the languages used for such filtering purposes are languages of matching parantheses. In some cases, the matched-parenthesis condition is used to filter out paths with mismatched calls and returns. This leads to so-called “context-sensitive” program analyses, such as context-sensitive interprocedural slicing and context-sensitive interprocedural dataflow analysis. In other cases, the matched-parenthesis condition is used to capture a graph-theoretic analog of McCarthy's rules: “car (cons(x,y)) = x” and “cdr(cons(x,y)) =y”. That is, in the code fragment c = cons(a,b); d = car(c); the fact that there is a “structure-transmitted data-dependence” from a to d, but not from b to d, is captured in a graph by (1) using a vertex for each variable, (2)an edge from vertex i to vertex j when i is used on the right-hand side of an assignment to j, (3) parentheses that match as the labels on the edges that run from a to c and c to d, and (4) parentheses that do not match as the labels on the edges that run from a to c and c to d. However, structure-transmitted data-dependence analysis is context-insensitive, because there are no constraints that filter out paths with mismatched calls and returns. Thus, a natural question is whether these two kinds of uses of parentheses can be combined to create a context-sensitive analysis for structure-transmitted data-dependences. This article answers the question in the negative: in general, the problem of contextsensitive, structure-transmitted data-dependence analysis is undecidable. The results imply that in general, both context-sensitive set-based analysis and -CFA (when data constructors and selectors and selectors are taken into account) are also undecidable.


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
5
6
7
 
8
 
9
 
10
 
11
HEINTZE, N. AND JAFFAR, J. 1991. A decision procedure for a class of set constraints. Tech. Rep. CMU-CS-91-110. School of Computer Science, Carnegie-Mellon Univ., Pittsburgh, PA.
12
 
13
14
15
16
 
17
JONES, N. D. AND MUCHNICK, S. S. 1981. Flow analysis and optimization of Lisp-like structures. In Prograamm Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones, Eds. Prentice-Hall, 102-131.
18
19
 
20
21
 
22
 
23
MCCARTHY, J. 1963. A basis for a mathematical theory of computation. In Computer Programming and Formal Systems. North-Holland, 33-70.
 
24
25
 
26
RAMALINGAM, G. 1999. Context-sensitive synchronization-sensitive analysis is undecidable. Res. Rep. TC 21493. IBM T. J. Watson Research Center, Yorktown Heights, NY.
27
 
28
REPS, T. 1996. On the sequential nature of interprocedural program-analysis problems. Acta Inf. 33, 739-757.
 
29
REPS, T. 1998. Program analysis via graph-reachability. Inf. Softw. Tech. 40, 11-12, 701- 726.
30
31
 
32
REYNOLDS, J. C. 1968. Automatic computation of data set definitions. In Information Processing 68: Proceedings of the IFIP Congress 68. North-Holland, 456-461.
 
33
 
34
SHARIR, M. AND PNUELI, A. 1981. Two approaches to interprocedural dataflow analysis. In Program Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones, Eds. Prentice-Hall.
35
36
37

CITED BY  13
 
 


Peer to Peer - Readers of this Article have also read: