Efficient dataflow analysis of logic programs

Research output: Contribution to journalArticle

9 Citations (Scopus)

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.

Original languageEnglish (US)
Pages (from-to)949-984
Number of pages36
JournalJournal of the ACM
Volume39
Issue number4
DOIs
StatePublished - Oct 1992

Fingerprint

Data flow analysis
Logic programming
Logic Programs
Data Flow
Computer programming languages
Logic Programming
Termination
Parallel programming
Programming Languages
Domain Analysis
Synchronization
Aliasing
Parallel Programming
Expressive Power
Soundness
Finiteness
Efficient Algorithms
Verify
Restriction

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Graphics and Computer-Aided Design
  • Hardware and Architecture
  • Information Systems
  • Software
  • Theoretical Computer Science

Cite this

Efficient dataflow analysis of logic programs. / Debray, Saumya K.

In: Journal of the ACM, Vol. 39, No. 4, 10.1992, p. 949-984.

Research output: Contribution to journalArticle

@article{64475720977341138a8030e451126709,
title = "Efficient dataflow analysis of logic programs",
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.",
author = "Debray, {Saumya K}",
year = "1992",
month = "10",
doi = "10.1145/146585.146624",
language = "English (US)",
volume = "39",
pages = "949--984",
journal = "Journal of the ACM",
issn = "0004-5411",
publisher = "Association for Computing Machinery (ACM)",
number = "4",

}

TY - JOUR

T1 - Efficient dataflow analysis of logic programs

AU - Debray, Saumya K

PY - 1992/10

Y1 - 1992/10

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=0026932863&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0026932863&partnerID=8YFLogxK

U2 - 10.1145/146585.146624

DO - 10.1145/146585.146624

M3 - Article

VL - 39

SP - 949

EP - 984

JO - Journal of the ACM

JF - Journal of the ACM

SN - 0004-5411

IS - 4

ER -