Handbook of theoretical computer science (vol. B)
Static analysis of logic programs for independent and parallelism
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)
Precise and efficient groundness analysis for logic programs
ACM Letters on Programming Languages and Systems (LOPLAS)
Bottom-up abstract interpretation of logic programs
Theoretical Computer Science
Denotational abstract interpretation of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal bases for dataflow analysis of logic programs
Advances in logic programming theory
A logical model for relational abstract domains
ACM Transactions on Programming Languages and Systems (TOPLAS)
Two classes of Boolean functions for dependency analysis
Science of Computer Programming
Making abstract interpretations complete
Journal of the ACM (JACM)
Type dependencies for logic programs using ACI-unification
Theoretical Computer Science
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Logical optimality of groundness analysis
Theoretical Computer Science
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Algebraic Properties of Idempotent Substitutions
ICALP '90 Proceedings of the 17th International Colloquium on Automata, Languages and Programming
Precise goal-independent abstract interpretation of constraint logic programs
Theoretical Computer Science
A backward analysis for constraint logic programs
Theory and Practice of Logic Programming
Optimality and condensing of information flow through linear refinement
Theoretical Computer Science
Transforming Abstract Interpretations by Abstract Interpretation
SAS '08 Proceedings of the 15th international symposium on Static Analysis
Static analysis, abstract interpretation and verification in (constraint logic) programming
A 25-year perspective on logic programming
Information flow is linear refinement of constancy
ICTAC'05 Proceedings of the Second international conference on Theoretical Aspects of Computing
Random: r-based analyzer for numerical domains
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Observational Completeness on Abstract Interpretation
Fundamenta Informaticae - Logic, Language, Information and Computation
Deriving a complete type inference for hindley-milner and vector sizes using expansion
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Hi-index | 0.01 |
In this article, we show that reversible analyses of logic languages by abstract interpretation can be performed without loss of precision by systematically refining abstract domains. This is obtained by adding to the abstract domain the minimal amount of concrete semantic information so that this refined abstract domain becomes rich enough to allow goal-driven and goal-independent analyses agree. These domains are known as condensing abstract domains. Essentially, an abstract domain A is condensing when the goal-driven analysis performed on A for a program P and a given query can be retrieved with no loss of precision from the goal-independent analysis on A of P. We show that condensation is an abstract domain property and that the problem of making an abstract domain condensing boils down to the problem of making the corresponding abstract interpretation complete, in a weakened form, with respect to unification. In the case of abstract domains for logic program analysis approximating computed answer substitutions, we provide a clean logical characterization of condensing domains as fragments of propositional linear logic. We apply our methodology to the systematic design of condensing domains for freeness and independence analysis.