Programming with sets; an introduction to SETL
Programming with sets; an introduction to SETL
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
On compile-time query optimization in deductive databases by means of static filtering
ACM Transactions on Database Systems (TODS)
Partial evaluation in logic programming
Journal of Logic Programming
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
On the expressive power of Datalog: tools and a case study
Selected papers of the 9th annual ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Tabled evaluation with delaying for general logic programs
Journal of the ACM (JACM)
Static caching for incremental computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computational problems related to the design of normal form relational schemas
ACM Transactions on Database Systems (TODS)
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
Ultra-fast aliasing analysis using CLA: a million lines of C code in a second
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Complexity and expressive power of logic programming
ACM Computing Surveys (CSUR)
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
Certificate chain discovery in SPKI?SDSI
Journal of Computer Security
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
Dynamic Programming via Static Incrementalization
Higher-Order and Symbolic Computation
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
OLD Resolution with Tabulation
Proceedings of the Third International Conference on Logic Programming
ICDT '97 Proceedings of the 6th International Conference on Database Theory
ICLP '02 Proceedings of the 18th International Conference on Logic Programming
DATALOG with Constraints: A Foundation for Trust Management Languages
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
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
A New Meta-complexity Theorem for Bottom-Up Logic Programs
IJCAR '01 Proceedings of the First International Joint Conference on Automated Reasoning
Handbook of automated reasoning
On the complexity of single-rule datalog queries
Information and Computation - Special issue: ICC '99
The complexity of relational query languages (Extended Abstract)
STOC '82 Proceedings of the fourteenth annual ACM symposium on Theory of computing
Answering Regular Path Queries Using Views
ICDE '00 Proceedings of the 16th International Conference on Data Engineering
Cloning-based context-sensitive pointer alias analysis using binary decision diagrams
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Parametric regular path queries
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Context-sensitive program analysis as database queries
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Optimizing compilation of constraint handling rules in HAL
Theory and Practice of Logic Programming
Conjunctive queries over trees
Journal of the ACM (JACM)
Efficient type inference for secure information flow
Proceedings of the 2006 workshop on Programming languages and analysis for security
Semantics of static pointcuts in aspectJ
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient trust management policy analysis from rules
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Journal of Computer Security - Special issue on CSFW15
IEEE Software
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
Graph queries through datalog optimizations
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Precise complexity analysis for efficient datalog queries
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
A simple inductive synthesis methodology and its applications
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Derivational software engineering
Proceedings of the FSE/SDP workshop on Future of software engineering research
More efficient datalog queries: subsumptive tabling beats magic sets
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
Defining datalog in rewriting logic
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Datalog-Based program analysis with BES and RWL
Datalog'10 Proceedings of the First international conference on Datalog Reloaded
Elixir: a system for synthesizing concurrent graph programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
From clarity to efficiency for distributed algorithms
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
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.