Structural Resolution for Abstract Compilation of Object-Oriented Languages
Luca Franceschini (University of Genoa, Italy), Davide Ancona, (University of Genoa, Italy), Ekaterina Komendantskaya (Heriot-Watt, University, Edinburgh, UK)

TL;DR
This paper introduces a novel abstract compilation method using coinductive logic programming to achieve precise static type analysis in object-oriented languages, effectively handling recursive types and non-termination issues.
Contribution
It presents a new approach leveraging structural resolution in coinductive logic programming for more accurate type inference in object-oriented programming.
Findings
Enables precise inference of recursive and irrational types.
Handles non-termination issues in type analysis.
Transforms logic programs without altering their semantics.
Abstract
We propose abstract compilation for precise static type analysis of object-oriented languages based on coinductive logic programming. Source code is translated to a logic program, then type-checking and inference problems amount to queries to be solved with respect to the resulting logic program. We exploit a coinductive semantics to deal with infinite terms and proofs produced by recursive types and methods. Thanks to the recent notion of structural resolution for coinductive logic programming, we are able to infer very precise type information, including a class of irrational recursive types causing non-termination for previously considered coinductive semantics. We also show how to transform logic programs to make them satisfy the preconditions for the operational semantics of structural resolution, and we prove this step does not affect the semantics of the logic program.
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.
