Programming with sets; an introduction to SETL
Programming with sets; an introduction to SETL
OLD resolution with tabulation
Proceedings on Third international conference on logic programming
Magic sets and other strange ways to implement logic programs (extended abstract)
PODS '86 Proceedings of the fifth ACM SIGACT-SIGMOD symposium on Principles of database systems
Program derivation by fixed point computation
Science of Computer Programming
Logic programming and databases
Logic programming and databases
Tabled evaluation with delaying for general logic programs
Journal of the ACM (JACM)
Regular path queries with constraints
PODS '97 Proceedings of the sixteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Static caching for incremental computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Model checking
Introduction to set constraint-based program analysis
Science of Computer Programming
Finite Differencing of Computable Expressions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficiency by Incrementalization: An Introduction
Higher-Order and Symbolic Computation
Program optimization using indexed and recursive data structures
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Strengthening invariants for efficient computation
Science of Computer Programming
Foundations of Databases: The Logical Level
Foundations of Databases: The Logical Level
Data Structures and Algorithms
Data Structures and Algorithms
Universal Regular Path Queries
Higher-Order and Symbolic Computation
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
ICDT '97 Proceedings of the 6th International Conference on Database Theory
Set Constraints and Set-Based Analysis
PPCP '94 Proceedings of the Second International Workshop on Principles and Practice of Constraint Programming
Indexing and Querying XML Data for Regular Path Expressions
Proceedings of the 27th International Conference on Very Large Data Bases
Efficient Algorithms for Model Checking Pushdown Systems
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Handbook of automated reasoning
Answering Regular Path Queries Using Views
ICDE '00 Proceedings of the 16th International Conference on Data Engineering
Incremental execution of transformation specifications
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Context-sensitive program analysis as database queries
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Incrementalization across object abstraction
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Efficient type inference for secure information flow
Proceedings of the 2006 workshop on Programming languages and analysis for security
Efficient implementation of tuple pattern based retrieval
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Efficient trust management policy analysis from rules
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
Generating Specialized Rules and Programs for Demand-Driven Analysis
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
Caching and incrementalisation in the java query language
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
A compiler for parsing schemata
Software—Practice & Experience
Using datalog with binary decision diagrams for program analysis
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
PADL'06 Proceedings of the 8th international conference on Practical Aspects of Declarative Languages
Improved algorithm complexities for linear temporal logic model checking of pushdown systems
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Hi-index | 0.00 |
This paper 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. The associated space usage is optimal in that it is the minimum space needed for such consideration modulo scheduling optimizations that may 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.