Improving Precision of Type Analysis Using Non-Discriminative Union
Lunjin Lu

TL;DR
This paper introduces a type analysis method for logic programs that employs non-discriminative union to enhance precision, utilizing tabling to mitigate increased complexity and improve analysis efficiency.
Contribution
It proposes a novel type analysis approach using non-discriminative union with a priori type definitions and demonstrates how tabling reduces analysis time despite increased complexity.
Findings
Tabling significantly reduces analysis time.
Non-discriminative union improves type analysis precision.
The method effectively detects fixpoints through type emptiness checks.
Abstract
This paper presents a new type analysis for logic programs. The analysis is performed with a priori type definitions; and type expressions are formed from a fixed alphabet of type constructors. Non-discriminative union is used to join type information from different sources without loss of precision. An operation that is performed repeatedly during an analysis is to detect if a fixpoint has been reached. This is reduced to checking the emptiness of types. Due to the use of non-discriminative union, the fundamental problem of checking the emptiness of types is more complex in the proposed type analysis than in other type analyses with a priori type definitions. The experimental results, however, show that use of tabling reduces the effect to a small fraction of analysis time on a set of benchmarks. Keywords: Type analysis, Non-discriminative union, Abstract interpretation, Tabling
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 · Formal Methods in Verification · Software Engineering Research
