Skip to main navigation Skip to search Skip to main content

Eliminating dead code on recursive data

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

8 Scopus citations

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.

Original languageEnglish
Title of host publicationStatic Analysis - 6th International Symposium, SAS 1999, Proceedings
EditorsGilberto File, Agostino Cortesi
PublisherSpringer Verlag
Pages211-231
Number of pages21
ISBN (Print)3540664599, 9783540664598
DOIs
StatePublished - 1999
Event6th International Symposium on Static Analysis, SAS 1999 - Venice, Italy
Duration: Sep 22 1999Sep 24 1999

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume1694
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference6th International Symposium on Static Analysis, SAS 1999
Country/TerritoryItaly
CityVenice
Period09/22/9909/24/99

Fingerprint

Dive into the research topics of 'Eliminating dead code on recursive data'. Together they form a unique fingerprint.

Cite this