@inproceedings{ace4d68b29ae4e3d8c4239810547ac66,
title = "Eliminating dead code on recursive data",
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 significantly more precise than results from previous methods. The analysis algorithm takes cubic time in terms of the size of the program in the worst case but is very efficient in practice, as shown by our prototype implementation. The analysis results are used to identify and eliminate dead code. The general framework for representing and analyzing properties of recursive data structures using general regular tree grammars applies to other analyses as well.",
author = "Liu, \{Yanhong A.\} and Stoller, \{Scott D.\}",
note = "Publisher Copyright: {\textcopyright} Springer-Verlag Berlin Heidelberg 1999.; 6th International Symposium on Static Analysis, SAS 1999 ; Conference date: 22-09-1999 Through 24-09-1999",
year = "1999",
doi = "10.1007/3-540-48294-6\_14",
language = "English",
isbn = "3540664599",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "211--231",
editor = "Gilberto File and Agostino Cortesi",
booktitle = "Static Analysis - 6th International Symposium, SAS 1999, Proceedings",
}