Analysis of Polymorphically Typed Logic Programs Using ACI-Unification
Jan-Georg Smaus

TL;DR
This paper presents a novel approach to analyzing polymorphically typed logic programs by employing ACI-unification and labelling functions to improve groundness analysis precision.
Contribution
It generalizes existing type-based analysis methods by formalizing term properties with labelling functions and using ACI-unification, extending prior work to more complex type systems.
Findings
Enhanced precision in groundness analysis of polymorphic programs
Formal framework for abstract interpretation using ACI-unification
Unification modulo an ACI-theory improves analysis accuracy
Abstract
Analysis of (partial) groundness is an important application of abstract interpretation. There are several proposals for improving the precision of such an analysis by exploiting type information, icluding our own work with Hill and King, where we had shown how the information present in the type declarations of a program can be used to characterise the degree of instantiation of a term in a precise and yet inherently finite way. This approach worked for polymorphically typed programs as in Goedel or HAL. Here, we recast this approach following works by Codish, Lagoon and Stuckey. To formalise which properties of terms we want to characterise, we use labelling functions, which are functions that extract subterms from a term along certain paths. An abstract term collects the results of all labelling functions of a term. For the analysis, programs are executed on abstract terms instead of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Formal Methods in Verification
