ACM Transactions on Programming Languages and Systems (TOPLAS)
Set Constraints: Results, Applications, and Future Directions
PPCP '94 Proceedings of the Second International Workshop on Principles and Practice of Constraint Programming
Combining Norms to Prove Termination
VMCAI '02 Revised Papers from the Third International Workshop on Verification, Model Checking, and Abstract Interpretation
LOPSTR '01 Selected papers from the 11th International Workshop on Logic Based Program Synthesis and Transformation
Abstract Conjunctive Partial Deduction Using Regular Types and Its Application to Model Checking
LOPSTR '01 Selected papers from the 11th International Workshop on Logic Based Program Synthesis and Transformation
Reuse of Results in Termination Analysis of Typed Logic Programs
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
More Precise Yet Efficient Type Inference for Logic Programs
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Abstract specialization and its applications
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
A framework for the integration of partial evaluation and abstract interpretation of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Termination analysis of logic programs through combination of type-based norms
ACM Transactions on Programming Languages and Systems (TOPLAS)
A practical type analysis for verification of modular prolog programs
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Improving precision of type analysis using non-discriminative union
Theory and Practice of Logic Programming
Type inference for datalog and its application to query optimisation
Proceedings of the twenty-seventh ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Approximating Term Rewriting Systems: A Horn Clause Specification and Its Implementation
LPAR '08 Proceedings of the 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning
A Posteriori Soundness for Non-deterministic Abstract Interpretations
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
Automated termination proofs for logic programs by term rewriting
ACM Transactions on Computational Logic (TOCL)
Type inference for datalog with complex type hierarchies
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program development using abstract interpretation (and the ciao system preprocessor)
SAS'03 Proceedings of the 10th international conference on Static analysis
Abstract verification and debugging of constraint logic programs
ERCIM'02/CologNet'02 Proceedings of the 2002 Joint ERCIM/CologNet international conference on Constraint solving and constraint logic programming
Semantic query optimization in the presence of types
Proceedings of the twenty-ninth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Techniques for scaling up analyses based on pre-interpretations
ICLP'05 Proceedings of the 21st international conference on Logic Programming
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Inference of well-typings for logic programs with application to termination analysis
SAS'05 Proceedings of the 12th international conference on Static Analysis
RTA'06 Proceedings of the 17th international conference on Term Rewriting and Applications
Analysis of logic programs using regular tree languages
LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
Detecting specification errors in declarative languages with constraints
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Semantic query optimization in the presence of types
Journal of Computer and System Sciences
Hi-index | 0.00 |
Set-based program analysis has many potential applications, including compiler optimisations, type-checking, debugging, verification and planning. One method of set-based analysis is to solve a set of set constraints derived directly from the program text. Another approach is based on abstract interpretation (with widening) over an infinite-height domain of regular types. Up till now only deterministic types have been used in abstract interpretations, whereas solving set constraints yields non-deterministic types, which are more precise. It was pointed out by Cousot and Cousot that set constraint analysis of a particular program P could be understood as an abstract interpretation over a finite domain of regular tree grammars, constructed from P. In this paper we define such an abstract interpretation for logic programs, formulated over a domain of non-deterministic finite tree automata, and describe its implementation. Both goal-dependent and goal-independent analysis are considered. Variations on the abstract domains operations are introduced, and we discuss the associated tradeoffs of precision and complexity. The experimental results indicate that this approach is a practical way of achieving the precision of set-constraints in the abstract interpretation framework.