Skip to main navigation Skip to search Skip to main content

From datalog rules to efficient programs with time and space guarantees

Research output: Contribution to journalArticlepeer-review

38 Scopus citations

Abstract

This article describes a method for transforming any given set of Datalog rules into an efficient specialized implementation with guaranteed worst-case time and space complexities, and for computing the complexities from the rules. The running time is optimal in the sense that only useful combinations of facts that lead to all hypotheses of a rule being simultaneously true are considered, and each such combination is considered exactly once in constant time. The associated space usage may sometimes be reduced using scheduling optimizations to eliminate some summands in the space usage formula. The transformation is based on a general method for algorithm design that exploits fixed-point computation, incremental maintenance of invariants, and combinations of indexed and linked data structures. We apply the method to a number of analysis problems, some with improved algorithm complexities and all with greatly improved algorithm understanding and greatly simplified complexity analysis.

Original languageEnglish
Article number21
JournalACM Transactions on Programming Languages and Systems
Volume31
Issue number6
DOIs
StatePublished - Aug 1 2009

Keywords

  • Complexity analysis
  • Data structure design
  • Datalog
  • Incremental computation
  • Indexed representations
  • Indexing
  • Linked representations
  • Optimization
  • Program transformation
  • Recursion
  • Tabling

Fingerprint

Dive into the research topics of 'From datalog rules to efficient programs with time and space guarantees'. Together they form a unique fingerprint.

Cite this