ACM Home Page
Please provide us with feedback. Feedback
On determining lifetime and aliasing of dynamically allocated data in higher-order functional specifications
Full text PdfPdf (1.34 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, United States
Pages: 157 - 168  
Year of Publication: 1989
ISBN:0-89791-343-4
Author
Alan Deutsch  ICSLA Team, Laboratoire d'Informatique de l'Ecole Polytechnique (LIX), 91128 Palaiseau Cedex - France
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 32,   Citation Count: 43
Additional Information:

abstract   references   cited by   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/96709.96725
What is a DOI?

ABSTRACT

We present a static analysis method for determining aliasing and lifetime of dynamically allocated data in lexically scoped, higher-order, strict and polymorphic languages with first class continuations. The goal is validate program transformations that introduce imperative constructs such as destructive updatings, stack allocations and explicit deallocations in order to reduce the run-time memory management overhead. Our method is based on an operational model of higher order functional programs from which we construct statically computable abstractions using the abstract interpretation framework. Our method provides a solution to a problem left open [Hudak 86]: determining isolation of data in the case of higher order languages with structured data.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
Aasa, Holmstrom & Nilsson 88
 
Appel 87
 
Appel 89
Barth 77
Bloss 89
Cardelli 84
Chase 88
Cousot & Cousot 77a
Cousot & Cousot 77b
Cousot & Cousot 79
 
Cousot 78
P. Cousot. Methodes iteratives de construction et d'approximation de points fixes d'operateurs monotones sur un treillis, analyse acmantique de programmes. These d'etat, Mar. 1978. Universite scientifique et medicale de Grenoble.
 
Cousot 81
P. Cousot. Program Flow Analysis: Theory and Applications, chapter Semantic foundations of program analysis, pages 303--342. Prentice-Hall, 1981.
Coutant 86
 
Deutsch 89
A. Deutsch. On determining lifetime and aliasing of dynamically allocated data in higher-order functional specifications (extended version). Research Report LiX/RR/89/(to appear), Ecole Polytechnique, 91128 Palaiseau, France, 1989.
Fairbairn & Wray 86
 
Goldberg 87
Haynes & Friedman 87
 
Hecht 77
Horwitz, Pfeiffer & Reps 89
Hudak 86
 
Hughes 87
J. Hughes. Backward analysis of functional programs. In D. Bjorner, A.P. Ershov, and N.D Jones, editors, Proc. Workshop on Partial Evaluation and Mixed Computation, pages 155-169, North-Holland, Denmark, Oct. 1987.
Inoue, Seki & Yagi 88
Jones & Le Metayer 89
 
Jones & Muchnick 81
Jones & Muchnick 82
 
Jones 81
N.D. Jones. Flow analysis of lambda expressions. In Symposium on Funtional Languages and Computer Architecture, pages 376-401, Chalmers University of Technology, Goteborg, Sweden, Jun. 1981.
Jouvelot & Gifford 89
 
Kastens & Schmidt 86
Kennedy 76
 
Landin 64
J. Landin. The Mechanical Evaluation of Expressions. Volume 6, Computer Journal, Jan. 1964.
Larus & Hilfinger 88
 
Launchbury 87
J. Launchbury. Projections for specialisation. In D. Bjorner, A.P. Ershov, and N.D. Jones, editors, Workshop on Partial Evaluation and Mixed Computation, pages 299-315, North Holland, Oct. I987.
 
Mogensen 87
T.AE. Mogensen. Partially static structures in a self-applicable partial evaluator. In D. Bjorner, A.P. Ershov, and N.D. Jones, editors, Workshop on Partial Evaluation and Mixed Computation, pages 325-347, North Holland, Oct. 1987.
 
Mogensen 89
Neirynck, Panangaden & Demers 87
Nielson & Nielson 86
 
Nielson & Nielson 88
 
Nielson 85
Raoult & Sethi 84
 
Raoult & Sethi 85
J.C. Raoult and R. Sethi. On Finding Stacked Attributes. Technical Report 206, LRI, Universite Paris-Sud, 91405 Orsay, France, Feb. 1985.
Rees & Clinger 86
Ruggieri & Murtagh 88
Schmidt 85
 
Schwartz 78
J. Schwartz. Verifying the safe use of destructive operations in applicative programs. In B. Robinet, editor, Transformations de programmes : 3e colloque international, sur la programmation, pages 394-410, Dunod, Paris, mar. 1978.
Sestoft 89
 
Sharir & Pnueli 81
M. Sharir and A. Pnueli. Program Flow Analysis: Theory and Applications, chapter Two approaches to inter procedural data flow analysis, pages 189-234. Prentice-Hall, 1981.
Shivers 88
 
Stransky 88
I. Stransky. Analyse semantique de structures de donnces dynamiques aves application au cas particulier de langages LISPiens. PhD thesis, Universite de Paris-Sud, Orsay, France, Jun. 1988.
 
Wadler 88
Weihl 80

CITED BY  43