Efficient dataflow analysis of logic programs
- 1 October 1992
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 39 (4) , 949-984
- https://doi.org/10.1145/146585.146624
Abstract
A framework for efficient dataflow analyses of logic programs is investigated. A number of problems arise in this context: aliasing effects can make analysis computationally expensive for sequential logic programming languages; synchronization issues can complicate the analysis of parallel logic programming languages; and finiteness restrictions to guarantee termination can limit the expressive power of such analyses. Our main result is to give a simple characterization of a family of flow analyses where these issues can be ignored without compromising soundness. This results in algorithms that are simple to verify and implement, and efficient in execution. Based on this approach, we describe an efficient algorithm for flow analysis of sequential logic programs, extend this approach to handle parallel executions, and finally describe how infinite chains in the analysis domain can be accommodated without compromising termination.Keywords
This publication has 12 references indexed in Scilit:
- A simple code improvement scheme for prologThe Journal of Logic Programming, 1992
- Global compilation of prologThe Journal of Logic Programming, 1989
- Flow analysis of dynamic logic programsThe Journal of Logic Programming, 1989
- Functional computations in logic programsACM Transactions on Programming Languages and Systems, 1989
- Static inference of modes and data dependencies in logic programsACM Transactions on Programming Languages and Systems, 1989
- Automatic mode inference for logic programsThe Journal of Logic Programming, 1988
- Specialisation of Prolog and FCP programs using abstract interpretationNew Generation Computing, 1988
- PARLOG: parallel programming in logicACM Transactions on Programming Languages and Systems, 1986
- A prological definition of HASL a purely functional language with unification based conditional binding expressionsNew Generation Computing, 1984
- “Natural” properties of flowchart step-counting measuresJournal of Computer and System Sciences, 1978