A common hazard for implementations of applicativeprogramming languages is the excessive creation of garbagecells during program execution. The available run-timegarbage collecting processes are expensive in time and oftenrequire a periodic disruption of the program execution. Thepresent book addresses the problem of memory re-use forlogic programs through program analysis rather than byrun-time garbage collection. The static analysis isconstructed as an application of abstractinterpretation forlogic programs. The starting point is a previously developedapplication of integrated type and mode analysis, whichbasically supplies a description of the logical terms towhich program variables can be bound at run time. Thecontribution of the book consists of a modular extension ofthe abstract domain and operations in order to deriverun-time properties concerning the sharing and liveness ofterm substructures dynamically created during programexecution. Alsoillustrated is how such information can beused by the compiler to improve the allocation of run-timestructures and to automatically introduce destructiveassignments in logic languages in a safe and transparentway, thereby shifting some part of the run-time storagereclamation overhead to compile time.
Abstract interpretation.- Related work.- Sharing analysis.- Liveness analysis.- Conclusion.
Series: Lecture Notes in Computer Science
Number Of Pages: 227
Published: 27th May 1993
Publisher: Springer-Verlag Berlin and Heidelberg Gmbh & Co. Kg
Country of Publication: DE
Dimensions (cm): 23.39 x 15.6
Weight (kg): 0.34