(Enter summary)
Abstract: This paper describes a general and powerful method for dead code analysis and elimination in the
presence of recursive data constructions. We represent partially dead recursive data using liveness patterns
based on general regular tree grammars extended with the notion of live and dead, and we formulate
the analysis as computing liveness patterns at all program points based on program semantics. This analysis
yields a most precise liveness pattern for the data at each program point, which is... (Update)
Context of citations to this paper: More
.... a dependence analysis that can precisely describe substructures of trees [38] We use an analysis based on regular tree grammars [31, 35]. We have designed and implemented a simple algorithm that uses regular tree grammar based constraints to eciently produce precise...
.... specialization and reuse of code often introduce anomalies in the generated code that programmers usually (or ideally) do not write [6, 16, 25, 26]. Examples are redundant arguments in the functions de ned by the program, as well as useless program rules. Example 1. Consider...
Cited by: More
Program Specialization Based on Dynamic Slicing - Ochoa, Silva, Vidal (2004)
(Correct)
Removing Redundant Arguments Automatically - M.Alpuente, S.Escobar, S.Lucas (2004)
(Correct)
Active Libraries and Universal Languages - Veldhuizen (2004)
(Correct)
Similar documents (at the sentence level):
60.2%: Eliminating Dead Code on Recursive Data - Liu, Stoller (1999)
(Correct)
15.9%: Dependence Analysis for Recursive Data - Liu (1998)
(Correct)
13.6%: Eliminating Dead Computations on Recursive Data - Liu (1997)
(Correct)
Active bibliography (related documents): More All
0.4: Static Caching for Incremental Computation - Liu, Stoller, Teitelbaum (1998)
(Correct)
0.3: Incremental Computation: A Semantics-Based Systematic.. - Liu (1996)
(Correct)
0.2: Efficient Computation via Incremental Computation - Liu (1999)
(Correct)
Similar documents based on text: More All
0.1: Efficient Symbolic Detection of Global Properties in.. - Stoller, Liu (1998)
(Correct)
0.1: Discovering Auxiliary Information for Incremental Computation - Liu, Stoller, Teitelbaum (1996)
(Correct)
0.1: Efficient Detection of Global Properties in Distributed.. - Stoller, Liu (1999)
(Correct)
Related documents from co-citation: More All
7: The Synthesizer Generator : a System for Constructing Language-based Editors (context) - Reps, Teitelbaum - 1989
7: Static caching for incremental computation
- Liu, Stoller et al. - 1998
7: Programming With Invariants (context) - Paige - 1986
BibTeX entry: (Update)
Y. A. Liu and S. D. Stoller. Eliminating dead code on recursive data. In Proceedings of the 6th International Static Analysis Symposium, volume 1694 of Lecture Notes in Computer Science, pages 211--231, Venice, Italy, Sept. 1999. Springer-Verlag, Berlin. http://citeseer.ist.psu.edu/article/liu98eliminating.html More
@inproceedings{ liu99eliminating,
author = "Yanhong A. Liu and Scott D. Stoller",
title = "Eliminating Dead Code on Recursive Data",
booktitle = "Static Analysis Symposium",
pages = "211-231",
year = "1999",
url = "citeseer.ist.psu.edu/article/liu98eliminating.html" }
Citations (may not include all citations):
1074
The definition of Standard ML (context) - Milner, Tofte et al. - 1990
737
The Java Programming Language (context) - Arnold, Golsing - 1996
484
Common Lisp the Language (context) - Steele - 1984
415
Efficiently computing static single assignment form and the ..
- Cytron, Ferrante et al. - 1991
324
Deforestation: Transforming programs to eliminate trees
- Wadler - 1990
265
Program slicing (context) - Weiser - 1984
259
A survey of program slicing techniques
- Tip - 1995
207
Flow analysis and optimization of LISP-like structures (context) - Jones, Muchnick - 1979
207
Flow analysis and optimization of LISP-like structures (context) - Jones, Muchnick - 1981
200
Solving shape-analysis problems in languages with destructiv..
- Sagiv, Reps et al. - 1998
171
The Synthesizer Generator: A System for Constructing Languag.. (context) - Reps, Teitelbaum - 1988
165
Set-based analysis of ML programs (context) - Heintze - 1994
159
and Tools (context) - Aho, Sethi et al. - 1986
152
Semantics of Programming Languages (context) - Gunter - 1992
127
Control flow analysis in scheme (context) - Shivers - 1988
94
Projections for strictness analysis
- Wadler, Hughes - 1987
82
Partial dead code elimination
- Knoop, Ruthing et al. - 1994
80
The Scheme Programming Language (context) - Dybvig - 1987
76
New York (context) - the, Conference et al. - 1989
68
Program Flow Analysis: Theory and Applications (context) - Muchnick, Jones - 1981
66
Declaration-free type checking (context) - Mishra, Reddy - 1985
57
Systematic derivation of incremental programs
- Liu, Teitelbaum - 1995
56
Projection Factorisations in Partial Evaluation (context) - Launchbury - 1989
55
Safe fusion of functional expressions (context) - Chin - 1992
53
Compile-time garbage collection by sharing analysis (context) - Jones, Le M'etayer - 1989
53
Static type inference in a dynamically typed language
- Aiken, Murphy - 1991
51
grammar and set-constraint-based program analysis by abstrac.. (context) - Cousot, Cousot - 1995
47
An algorithm for reduction of operator strength (context) - Cocke, Kennedy - 1977
47
Program specialization via program slicing
- Reps, Turnidge - 1996
46
Akademiai Kiado (context) - Gecseg, Steinb - 1984
39
Discovering auxiliary information for incremental computatio..
- Liu, Stoller et al. - 1996
38
Lectures on a mathematical theory of computation (context) - Scott - 1982
38
Escape analysis on lists
- Park, Goldberg - 1992
36
Finite differencing of computable expressions (context) - Paige, Koenig - 1982
33
Static caching for incremental computation
- Liu, Stoller et al. - 1998
28
Compile-time analysis of functional programs (context) - Hughes - 1990
28
implementation and experimental results (context) - Blanchet, correctness - 1998
26
the complexity of escape analysis (context) - Deutsch - 1997
23
Separating binding times in language specifications (context) - Mogensen - 1989
20
Set constraints for destructive array update optimization
- Wand, Clinger - 1998
18
Dependence analysis for recursive data
- Liu - 1998
16
Department of Computer Science (context) - Heintze, Analysis - 1992
16
Analysis of recursive types in lisp-like languages
- Wang, Hilfinger - 1992
14
A grammar-based data-flow analysis to stop deforestation (context) - Sorensen - 1994
12
Programming languages and their compilers; preliminary notes (context) - Cocke, Schwartz - 1970
12
Iteration space slicing and its application to communication..
- Pugh, Rosser - 1997
12
ACM Conference on LISP and Functional Programming (context) - the - 1992
11
Strictness and binding-time analysis: Two for the price of o.. (context) - Launchbury - 1991
10
Program bifurcation for a polymorphically typed functional l.. (context) - De Niel, Bevers et al. - 1991
9
Use-definition chains with applications (context) - Kennedy - 1978
9
Partial dead code elimination using slicing transformations
- Bod'ik, Gupta - 1997
The graph only includes citing articles where the year of publication is known.
Documents on the same site (http://www.cs.indiana.edu/ftp/techreports/index.html): More
Topological Reasoning and The Logic of Knowledge - Dabrowski, Moss, Parikh
(Correct)
Merging Interactive, Modular, And Object-Oriented Programming - Tung
(Correct)
First-Class Extents - Shinn-Der Lee (1992)
(Correct)
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC