Download:
|
by Maurice Bruynooghe, Maurice Bruynooghe, Gerda Janssens, Gerda Janssens, Andreas Kagedal, Andreas Kagedal
Proceedings of the Fourteenth International Conference on Logic Programming (ICLP'97
ftp://ftp.cs.kuleuven.ac.be/pub/logic-prgm/publications/techreports/cw231.ps
Add To MetaCart
Abstract:
Live-structure analysis addresses the problem of memory reuse for logic programs through program analysis rather than by runtime garbage collection. The present paper focuses on pure logic programs with declarations of modes, types, and determinism. The analysis is based on previous work for pure Prolog but introduces important innovations. First, the liveness analysis is extended to consider not only forward liveness but also backward liveness (i.e., during backtracking by the program). This allows us to identify the calls with exclusive access to some parts of the data-structures. Second, the efficiency of the analysis is reached not only by exploiting the information provided by the declarations, but also by splitting the analysis in a goal-independent and a goal-dependent phase (as proposed by Codish et al.).
Citations
|
180
|
A practical framework for the abstract interpretation of logic programs
– Bruynooghe
- 1991
|
|
146
|
The execution algorithm of Mercury, an efficient purely declarative logic programming language
– Somogyi, Henderson, et al.
- 1996
|
|
112
|
Deriving descriptions of possible values of program variables by means of abstract interpretation
– Bruynooghe, Janssens
- 1992
|
|
88
|
Static analysis of logic programs for independent AND-parallelism
– Jacobs, Langen
- 1992
|
|
67
|
Incremental Analysis of Constraint Logic Programs
– Hermenegildo, Puebla, et al.
- 1996
|
|
51
|
A framework of directionality for proving termination of logic programs
– Bronsard, Lakshman, et al.
- 1992
|
|
39
|
An application of abstract interpretation of logic programs: occur check reduction
– Sndergaard
- 1986
|
|
27
|
Directional types and the annotation method
– Boye, Maluszy'nski
- 1997
|
|
17
|
Integrating modes and subtypes into a Prolog type-checker
– Rouzaud, Nguyen-Phuong
- 1992
|
|
14
|
Live-structure dataflow analysis for prolog
– Mulkers, Winsborough, et al.
- 1994
|
|
12
|
A Blueprint for an Abstract Machine for Abstract Interpretation of (Constraint) Logic Programs
– Janssens, Bruynooghe, et al.
- 1995
|
|
11
|
Abstract interpretation for (constraint) logic programming
– Bruynooghe, Boulanger
- 1993
|
|
11
|
On copy avoidance in single assignment languages
– Debray
- 1993
|
|
10
|
Compile-time garbage collection for ground Prolog
– Klu'zniak
- 1988
|
|
10
|
A theory of type polymorphism in programming. Journal of computer and system sciences
– Milner
- 1978
|
|
6
|
Exploiting Goal Independence in the Analysis of Logic Programs
– Codish, Bruynooghe, et al.
- 1997
|
|
6
|
Update in place: Overview of the Siva project
– Gudjonsson, Winsborough
- 1993
|
|
3
|
Adding redundancy to obtain more reliable and readable Prolog programs
– Bruynooghe
- 1982
|
|
2
|
Goal Dependent versus Goal Independent Analysis of Logic Programs
– Codish, Banda, et al.
- 1994
|
|
1
|
Exploiting Groundness in Logic Programs
– Kagedal
- 1995
|
|
1
|
Efficient storage reuse of aggregates in single assignment languages
– Li, Kirkham
- 1996
|