Static inference of modes and data dependencies in logic programs

Research output: Contribution to journalArticle

73 Citations (Scopus)

Abstract

Mode and data dependency analyses find many applications in the generation of efficient executable code for logic programs. For example, mode information can be used to generate specialized unification instructions where permissible, to detect determinacy and functionality of programs, generate index structures more intelligently, reduce the amount of runtime tests in systems that support goal suspension, and in the integration of logic and functional languages. Data dependency information can be used for various source-level optimizing transformations, to improve backtracking behavior and to parallelize logic programs. This paper describes and proves correct an algorithm for the static inference of modes and data dependencies in a program. The algorithm is shown to be quite efficient for programs commonly encountered in practice.

Original languageEnglish (US)
Pages (from-to)418-450
Number of pages33
JournalACM Transactions on Programming Languages and Systems
Volume11
Issue number3
DOIs
StatePublished - Jul 1989

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Software

Cite this

Static inference of modes and data dependencies in logic programs. / Debray, Saumya K.

In: ACM Transactions on Programming Languages and Systems, Vol. 11, No. 3, 07.1989, p. 418-450.

Research output: Contribution to journalArticle

@article{5447a40320f9442487f45dcb6bd32b65,
title = "Static inference of modes and data dependencies in logic programs",
abstract = "Mode and data dependency analyses find many applications in the generation of efficient executable code for logic programs. For example, mode information can be used to generate specialized unification instructions where permissible, to detect determinacy and functionality of programs, generate index structures more intelligently, reduce the amount of runtime tests in systems that support goal suspension, and in the integration of logic and functional languages. Data dependency information can be used for various source-level optimizing transformations, to improve backtracking behavior and to parallelize logic programs. This paper describes and proves correct an algorithm for the static inference of modes and data dependencies in a program. The algorithm is shown to be quite efficient for programs commonly encountered in practice.",
author = "Debray, {Saumya K}",
year = "1989",
month = "7",
doi = "10.1145/65979.65983",
language = "English (US)",
volume = "11",
pages = "418--450",
journal = "ACM Transactions on Programming Languages and Systems",
issn = "0164-0925",
publisher = "Association for Computing Machinery (ACM)",
number = "3",

}

TY - JOUR

T1 - Static inference of modes and data dependencies in logic programs

AU - Debray, Saumya K

PY - 1989/7

Y1 - 1989/7

N2 - Mode and data dependency analyses find many applications in the generation of efficient executable code for logic programs. For example, mode information can be used to generate specialized unification instructions where permissible, to detect determinacy and functionality of programs, generate index structures more intelligently, reduce the amount of runtime tests in systems that support goal suspension, and in the integration of logic and functional languages. Data dependency information can be used for various source-level optimizing transformations, to improve backtracking behavior and to parallelize logic programs. This paper describes and proves correct an algorithm for the static inference of modes and data dependencies in a program. The algorithm is shown to be quite efficient for programs commonly encountered in practice.

AB - Mode and data dependency analyses find many applications in the generation of efficient executable code for logic programs. For example, mode information can be used to generate specialized unification instructions where permissible, to detect determinacy and functionality of programs, generate index structures more intelligently, reduce the amount of runtime tests in systems that support goal suspension, and in the integration of logic and functional languages. Data dependency information can be used for various source-level optimizing transformations, to improve backtracking behavior and to parallelize logic programs. This paper describes and proves correct an algorithm for the static inference of modes and data dependencies in a program. The algorithm is shown to be quite efficient for programs commonly encountered in practice.

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

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

U2 - 10.1145/65979.65983

DO - 10.1145/65979.65983

M3 - Article

VL - 11

SP - 418

EP - 450

JO - ACM Transactions on Programming Languages and Systems

JF - ACM Transactions on Programming Languages and Systems

SN - 0164-0925

IS - 3

ER -