## Undecidability of Static Analysis (1992)

Venue: | ACM Letters on Programming Languages and Systems |

Citations: | 141 - 5 self |

### BibTeX

@ARTICLE{Landi92undecidabilityof,

author = {William Landi},

title = {Undecidability of Static Analysis},

journal = {ACM Letters on Programming Languages and Systems},

year = {1992},

volume = {1},

pages = {323--337}

}

### Years of Citing Articles

### OpenURL

### Abstract

Static Analysis of programs is indispensable to any software tool, environment, or system that requires compile time information about the semantics of programs. With the emergence of languages like C and LISP, Static Analysis of programs with dynamic storage and recursive data structures has become a field of active research. Such analysis is difficult, and the Static Analysis community has recognized the need for simplifying assumptions and approximate solutions. However, even under the common simplifying assumptions, such analyses are harder than previously recognized. Two fundamental Static Analysis problems are May Alias and Must Alias. The former is not recursive (i.e., is undecidable) and the latter is not recursively enumerable (i.e., is uncomputable), even when all paths are executable in the program being analyzed for languages with if-statements, loops, dynamic storage, and recursive data structures. Categories and Subject Descriptors: D.3.1 [Programming Languages...

### Citations

3836 |
J.D.: Introduction to automata theory, languages, and computation
- Hopcroft, Motwani, et al.
(Show Context)
Citation Context ...ral May Alias is not recursive (i.e., is undecidable) and Intraprocedural Must Alias is not recursively enumerable (i.e., is uncomputable) even when all paths in a program are executable by reducing (=-=[5]-=-, p. 321-322) the halting problem into an alias problem. This is a different from the result of Kam and Ullman [8] that the MOP solution is undecidable for monotone frameworks. 2 Reduction of the Halt... |

2438 |
The Design and Analysis of Computer Algorithms
- Aho, Hopcroft, et al.
- 1974
(Show Context)
Citation Context ...fferent from the result of Kam and Ullman [8] that the MOP solution is undecidable for monotone frameworks. 2 Reduction of the Halting Problem to an Alias Problem A Deterministic Turing Machine (DTM) =-=[1]-=- is a tuple (Q,T,I,ffi,fi,q 0 ,q f ) where: ffl Q = fq 1 , q 2 , ..., q nQ g is the set of states ffl T = foe 1 ; oe 2 ; :::; oe n T g is the set of tape symbols ffl I ae T is the set of input symbols... |

1880 |
Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints
- Cousot, Cousot
- 1977
(Show Context)
Citation Context ...roblems include reaching definitions, available expressions, and very busy expressions [4]. There are two main frameworks for doing Static Analysis: Data Flow Analysis [4] and Abstract Interpretation =-=[3]-=-. The framework is not relevant to this paper, as we show that two fundamental Static Analysis problems are harder than previously acknowledged, regardless of the framework used. We view the solution ... |

308 | A unified approach to global program optimization
- Kildall
- 1973
(Show Context)
Citation Context ...cepted by a Turing machine which may or may not halt on all inputs. Static Analysis originally concentrated on FORTRAN, and was predominately confined to a single procedure (intraprocedural analysis) =-=[7, 9, 15]-=-. However, even this simple form of Static Analysis is not recursive. The difficulty lies in conditionals. There are, in general, many paths through a procedure, but not all paths correspond to an exe... |

308 | Constant Propagation with Conditional Branches
- Wegman, Zadeck
- 1991
(Show Context)
Citation Context ...This assumption is not always valid, but it is safe [2]. 1 Also, it simplifies the problem and allows Static Analysis of FORTRAN procedures to be done fairly efficiently. Some approaches (for example =-=[16]-=-) categorize some paths as not executable. However, these techniques have limited applicability, and often must assume that paths are executable. With a basis of a firm understanding of intraprocedura... |

277 |
Flow Analysis of Computer Programs
- Hecht
- 1977
(Show Context)
Citation Context ...1992 ACM 1057-4514/92/1200-0323$01.50 1 1 Introduction Static Analysis is the processes of extracting semantic information about a program at compile time. One classical example is the live variables =-=[4]-=- problem; a variable x is live at a statement s iff on some execution x is used (accessed) after s is executed without being redefined. Other classical problems include reaching definitions, available... |

159 |
Detecting conflicts between structure accesses
- Larus, Hilfinger
- 1988
(Show Context)
Citation Context ...guages with pointers, dynamic storage, and recursive data structures. It is widely accepted that Static Analysis under these conditions is hard. The general feeling is that it is probably NP complete =-=[11, 13, 12]-=-; this is incorrect. Recently, the problem of finding aliases was shown to be P-space hard [10]. Unfortunately, this is still an underestimate. 1 The term conservative is used in [2] instead of safe. ... |

152 | Monotone data flow analysis frameworks
- Kam, Ullman
- 1977
(Show Context)
Citation Context ... (i.e., is uncomputable) even when all paths in a program are executable by reducing ([5], p. 321-322) the halting problem into an alias problem. This is a different from the result of Kam and Ullman =-=[8]-=- that the MOP solution is undecidable for monotone frameworks. 2 Reduction of the Halting Problem to an Alias Problem A Deterministic Turing Machine (DTM) [1] is a tuple (Q,T,I,ffi,fi,q 0 ,q f ) where... |

144 | Reps: Dependence analysis for pointer variables - Horwitz, Pfeiffer, et al. - 1989 |

118 |
A precise interprocedural data flow algorithm
- Myers
- 1981
(Show Context)
Citation Context ...me that paths are executable. With a basis of a firm understanding of intraprocedural Static Analysis of FORTRAN, Static Analysis of entire programs (interprocedural analysis) was investigated. Myers =-=[14]-=- came up with the negative result that many interprocedural Static Analysis problems are NP complete. Practically, this means that interprocedural Static Analysis must make further approximations over... |

107 |
Pointer-induced aliasing: a problem classification
- LANDI, RYDER
- 1991
(Show Context)
Citation Context ...guages with pointers, dynamic storage, and recursive data structures. It is widely accepted that Static Analysis under these conditions is hard. The general feeling is that it is probably NP complete =-=[11, 13, 12]-=-; this is incorrect. Recently, the problem of finding aliases was shown to be P-space hard [10]. Unfortunately, this is still an underestimate. 1 The term conservative is used in [2] instead of safe. ... |

56 | Interprocedural Aliasing in the Presence of Pointers
- Landi
- 1992
(Show Context)
Citation Context ... Analysis under these conditions is hard. The general feeling is that it is probably NP complete [11, 13, 12]; this is incorrect. Recently, the problem of finding aliases was shown to be P-space hard =-=[10]-=-. Unfortunately, this is still an underestimate. 1 The term conservative is used in [2] instead of safe. 2 An alias occurs at some point during execution of a program when two or more names exist for ... |

36 |
Restructuring Symbolic Programs for Concurrent Execution on Multiprocessors. UC Berkeley Computer Science (May 1989). and won Henke 85] D. Luckham and F.W. von Henke. An Overview of Anna, a Speci cation Language for Ada
- Larus
- 1985
(Show Context)
Citation Context ...guages with pointers, dynamic storage, and recursive data structures. It is widely accepted that Static Analysis under these conditions is hard. The general feeling is that it is probably NP complete =-=[11, 13, 12]-=-; this is incorrect. Recently, the problem of finding aliases was shown to be P-space hard [10]. Unfortunately, this is still an underestimate. 1 The term conservative is used in [2] instead of safe. ... |

18 |
Fast algorithms for the elimination of common subexpressions
- ULLMAN
- 1973
(Show Context)
Citation Context ...cepted by a Turing machine which may or may not halt on all inputs. Static Analysis originally concentrated on FORTRAN, and was predominately confined to a single procedure (intraprocedural analysis) =-=[7, 9, 15]-=-. However, even this simple form of Static Analysis is not recursive. The difficulty lies in conditionals. There are, in general, many paths through a procedure, but not all paths correspond to an exe... |

5 |
Global flow analysis and iterative algorithms
- Kam, Ullman
- 1976
(Show Context)
Citation Context ...cepted by a Turing machine which may or may not halt on all inputs. Static Analysis originally concentrated on FORTRAN, and was predominately confined to a single procedure (intraprocedural analysis) =-=[7, 9, 15]-=-. However, even this simple form of Static Analysis is not recursive. The difficulty lies in conditionals. There are, in general, many paths through a procedure, but not all paths correspond to an exe... |