Flow analysis of dynamic logic programs

Research output: Contribution to journalArticle

8 Scopus citations

Abstract

Research on flow analysis and optimization of logic programs typically assumes that the programs being analyzed are static, i.e. any code that can be executed at runtime is available for analysis at compile time. This assumption may not hold for "real" programs, which can contain dynamic goals of the form call(X), where X is a variable at compile time, or where predicates may be modified via features like assert and retract. In such contexts, a compiler must be able to take the effects of such dynamic constructs into account in order to perform nontrivial flow analyses that can be guaranteed to be sound. This paper outlines how this may be done for certain kinds of dynamic programs. Our techniques allow analysis and optimization techniques that have been developed for static programs to be extended to a large class of "well-behaved" dynamic programs.

Original languageEnglish (US)
Pages (from-to)149-176
Number of pages28
JournalThe Journal of Logic Programming
Volume7
Issue number2
DOIs
StatePublished - Sep 1989
Externally publishedYes

    Fingerprint

ASJC Scopus subject areas

  • Logic

Cite this