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
Theoretical Computer Science
Volume 248, Issues 1-2, 6 October 2000, Pages 3-27
 
Font Size: Decrease Font Size  Increase Font Size
 Abstract - selected
Purchase PDF (151 K)

 
 
 
Related Articles in ScienceDirect
View More Related Articles
 
View Record in Scopus
 
doi:10.1016/S0304-3975(00)00048-7    How to Cite or Link Using DOI (Opens New Window)
Copyright © 2000 Elsevier Science B.V. All rights reserved.

Accurate binding-time analysis for imperative languages: flow, context, and return sensitivity

Luke Hornof1, , a and Jacques NoyéCorresponding Author Contact Information, E-mail The Corresponding Author, b

a Irisa Campus Universitaire de Beaulieu, 35042 Rennes Cedex, France b École des Mines de Nantes, 4 rue Alfred Kastler, 44307 Nantes Cedex 03, France

Available online 21 September 2000.

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

Since a binding-time analysis determines how an off-line partial evaluator will specialize a program, the accuracy of the binding-time information directly determines the degree of specialization. We have designed and implemented a binding-time analysis for an imperative language, and integrated it into our partial evaluator for C, called Tempo (Consel et al., in: Danvy, Gluck, Thiemann (Eds.), Partial Evaluation, Internat. Seminar, Degstnhl castle, Lectnre Notes in Computer Science, vol. 1110, Springer, Berlin, February 1996, pp. 54–72). This binding-time analysis includes a number of new features, not available in any existing partial evaluator for an imperative language, which are critical when specializing existing programs such as operating system components (Muller et al., Proc. 18th Internat. Conf. on Distributed Computing systems, Amsterdam, Netherlands, IEEE Computer Society Press, Silverspring, MD, May 1998, pp. 240–249; Muller et al., ACM SIGPLAN symp. on Partial Evaluation and Semantics-Based Program manipulation, Amsterdam, The Netherlands, ACM Press, New York, June 1997, pp. 116–125).

Flow sensitivity. A different binding-time description is computed for each program point, allowing the same variable to be considered static at one program point and dynamic at another.

Context sensitivity. Each function call is analyzed with the context of the call site, generating multiple binding-time annotated instances of the same function definition.

Return sensitivity. A different binding-time description is computed for the side-effects and the return value of a function.

Author Keywords: Partial evaluation; Binding-time analysis; Imperative languages


 
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.