Undecidability of context-sensitive data-dependence analysis

99Citations
Citations of this article
29Readers
Mendeley users who have this article in their library.

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 of 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 parentheses. 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 b 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 context-sensitive, 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 are taken into account) are also undecidable.

Cite

CITATION STYLE

APA

Reps, T. (2000). Undecidability of context-sensitive data-dependence analysis. ACM Transactions on Programming Languages and Systems, 22(1), 162–186. https://doi.org/10.1145/345099.345137

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free