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
An application of abstract interpretation of logic programs: occur check reduction
Proc. of the European symposium on programming on ESOP 86
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Principles of database and knowledge-base systems, Vol. I
Principles of database and knowledge-base systems, Vol. I
Declarative modeling of the operational behavior of logic languages
Theoretical Computer Science
A practical framework for the abstract interpretation of logic programs
Journal of Logic Programming
Bottom-up dataflow analysis of normal logic programs
Journal of Logic Programming
Compile-time derivation of variable dependency using abstract interpretation
Journal of Logic Programming
Global flow analysis as a practical compilation tool
Journal of Logic Programming
A general framework for semantics-based bottom-up abstract interpretation of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A model-theoretic reconstruction of the operational semantics of logic programs
Information and Computation
Formalization of metaprogramming for real
ICLP'93 Proceedings of the tenth international conference on logic programming on Logic programming
Experimental evaluation of a generic abstract interpretation algorithm for PROLOG
ACM Transactions on Programming Languages and Systems (TOPLAS)
Bottom-up abstract interpretation of logic programs
Theoretical Computer Science
Handbook of logic in artificial intelligence and logic programming
Fast and precise regular approximations of logic programs
Proceedings of the eleventh international conference on Logic programming
XSB as an efficient deductive database engine
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Practical program analysis using general purpose logic programming systems—a case study
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
A practical object-oriented analysis engine for CLP
Software—Practice & Experience
The Semantics of Predicate Logic as a Programming Language
Journal of the ACM (JACM)
Sharing and groundness dependencies in logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type dependencies for logic programs using ACI-unification
Theoretical Computer Science
Data flow analysis of applicative programs using minimal function graphs
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Abstract Interpretation of Declarative Languages
Abstract Interpretation of Declarative Languages
Abstract Interpretation of Prolog Programs
Proceedings of the Third International Conference on Logic Programming
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
Abstracting s-semantincs Using A Model-Theoretic Approach
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
Memoing Evaluation by Source-to-Source Transformation
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
A Freeness and Sharing Analysis of Logic Programs Based on a Pre-interpretation
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Automatic, transparent parallelization of logic programs at compile time
Automatic, transparent parallelization of logic programs at compile time
Theoretical foundations and semantics of logic programming
A 25-year perspective on logic programming
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Hi-index | 0.00 |
We give an introduction to the meta-circular approach to the abstract interpretation of logic programs. This approach is particularly useful for prototyping and for introductory classes on abstract interpretation. Using interpreters, students can immediately write, adapt, and experiment with interpreters and working dataflow analysers. We use a simple meta-circular interpreter, based on a "non-ground Tp" semantics, as a generic analysis engine. Instantiating the engine is a matter of providing an appropriate domain of approximations, together with definitions of "abstract" unification and disjunction. Small changes of the interpreter let us vary both what can be "observed" by an analyser, and how fixed point computation is done. Amongst the dataflow analyses used to exemplify this approach are a parity analysis, groundness dependency analysis, call patterns, depth-k analysis, and a "pattern" analysis to establish most specific generalisations of calls and success sets.