Live Data Structures in Logic Programs: Derivation by Means of Abstract Interpretation

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

A common hazard for implementations of applicative programming languages is the excessive creation of garbage cells during program execution. The available run-time garbage collecting processes are expensive in time and often require a periodic disruption of the program execution. The present book addresses the problem of memory re-use for logic programs through program analysis rather than by run-time garbage collection. The static analysis is constructed as an application of abstractinterpretation for logic programs. The starting point is a previously developed application of integrated type and mode analysis, which basically supplies a description of the logical terms to which program variables can be bound at run time. The contribution of the book consists of a modular extension of the abstract domain and operations in order to derive run-time properties concerning the sharing and liveness of term substructures dynamically created during program execution. Alsoillustrated is how such information can be used by the compiler to improve the allocation of run-time structures and to automatically introduce destructive assignments in logic languages in a safe and transparent way, thereby shifting some part of the run-time storage reclamation overhead to compile time.

Author(s): Anne Mulkers (auth.)
Series: Lecture Notes in Computer Science 675
Edition: 1
Publisher: Springer-Verlag Berlin Heidelberg
Year: 1993

Language: English
Pages: 227
Tags: Logics and Meanings of Programs; Programming Languages, Compilers, Interpreters; Artificial Intelligence (incl. Robotics)

Introduction....Pages 1-4
Abstract interpretation....Pages 5-29
Related work....Pages 31-45
Sharing analysis....Pages 47-125
Liveness analysis....Pages 127-178
Conclusion....Pages 179-181