Author:
AMATO GIANLUCA,SCOZZARI FRANCESCA
Abstract
AbstractWe face the problems of correctness, optimality, and precision for the static analysis of logic programs, using the theory of abstract interpretation. We propose a framework with a denotational, goal-dependent semantics equipped with two unification operators for forward unification (calling a procedure) and backward unification (returning from a procedure). The latter is implemented through a matching operation. Our proposal clarifies and unifies many different frameworks and ideas on static analysis of logic programming in a single, formal setting. On the abstract side, we focus on the domainsharingby Jacobs and Langen (The Journal of Logic Programming, 1992, vol. 13, nos. 2–3, pp. 291–314) and provide the best correct approximation of all the primitive semantic operators, namely, projection, renaming, and forward and backward unifications. We show that the abstract unification operators are strictly more precise than those in the literature defined over the same abstract domain. In some cases, our operators are more precise than those developed for more complex domains involving linearity and freeness.
Publisher
Cambridge University Press (CUP)
Subject
Artificial Intelligence,Computational Theory and Mathematics,Hardware and Architecture,Theoretical Computer Science,Software
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. The ScalaFix Equation Solver;Formal Methods;2023
2. A Term Matching Algorithm and Substitution Generality;Logic-Based Program Synthesis and Transformation;2023
3. On the Need for a Common API for Abstract Domains of Object-Oriented Programs;Proceedings of the 24th ACM International Workshop on Formal Techniques for Java-like Programs;2022-06-07
4. The role of linearity in sharing analysis;Mathematical Structures in Computer Science;2022-01
5. Experimental Evaluation of Numerical Domains for Inferring Ranges;Electronic Notes in Theoretical Computer Science;2018-04