|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Saumya Debray , Robert Muth , Matthew Weippert, Alias analysis of executable code, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.12-24, January 19-21, 1998, San Diego, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Suresh Jagannathan , Peter Thiemann , Stephen Weeks , Andrew Wright, Single and loving it: must-alias analysis for higher-order languages, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.329-341, January 19-21, 1998, San Diego, California, United States
|
|
|
Jyh-Herng Chow , William Ludwell Harrison, III, Compile-time analysis of parallel programs that share memory, Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.130-141, January 19-22, 1992, Albuquerque, New Mexico, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|