ScienceDirect® Home Skip Main Navigation Links
You have guest access to ScienceDirect. Find out more.
 
Home
Browse
My Settings
Alerts
Help
 Quick Search
 Search tips (Opens new window)
    Clear all fields    
advertisementadvertisement
Science of Computer Programming
Volume 47, Issues 2-3, May-June 2003, Pages 221-242
Special Issue on Static Analysis (SAS'99)
 
Font Size: Decrease Font Size  Increase Font Size
 Abstract - selected
Purchase PDF (611 K)

 
 
 
Related Articles in ScienceDirect
View More Related Articles
 
View Record in Scopus
 
doi:10.1016/S0167-6423(02)00134-X    How to Cite or Link Using DOI (Opens New Window)
Copyright © 2003 Elsevier Science B.V. All rights reserved.

Eliminating dead code on recursive data*1

Yanhong A. LiuCorresponding Author Contact Information, E-mail The Corresponding Author and Scott D. StollerE-mail The Corresponding Author

Computer Science Department, State University of New York at Stony Brook, Stony Brook, NY 11794, USA

Available online 29 January 2003.

Purchase the full-text article



References and further reading may be available for this article. To view references and further reading you must purchase this article.

Abstract

This paper describes a powerful method for dead-code analysis and elimination in the presence of recursive data constructions. We describe 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 constraints constructed from the program and programming language semantics. The analysis yields the most precise program-based grammars that satisfy the constraints. 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 framework for representing and analyzing properties of recursive data structures using general regular tree grammars applies to other analyses as well.

Author Keywords: Dead-code elimination; Recursive data structures; Regular-tree grammars; Constraints; Program analysis; Slicing


Science of Computer Programming
Volume 47, Issues 2-3, May-June 2003, Pages 221-242
Special Issue on Static Analysis (SAS'99)
 
Home
Browse
My Settings
Alerts
Help
Elsevier.com (Opens new window)
About ScienceDirect  |  Contact Us  |  Information for Advertisers  |  Terms & Conditions  |  Privacy Policy
Copyright © 2008 Elsevier B.V. All rights reserved. ScienceDirect® is a registered trademark of Elsevier B.V.