TL;DR
This paper introduces a parametric refinement type system and inference algorithm based on abstract interpretation, enabling systematic exploration of precision-efficiency trade-offs in static program analysis.
Contribution
It presents a new, theoretically grounded framework for refinement type inference that captures existing systems as special cases and allows for customizable precision levels.
Findings
Prototype implementation demonstrates competitive performance.
Framework enables systematic construction of new inference algorithms.
Evaluation shows improved precision and robustness over existing tools.
Abstract
Refinement types enable lightweight verification of functional programs. Algorithms for statically inferring refinement types typically work by reduction to solving systems of constrained Horn clauses extracted from typing derivations. An example is Liquid type inference, which solves the extracted constraints using predicate abstraction. However, the reduction to constraint solving in itself already signifies an abstraction of the program semantics that affects the precision of the overall static analysis. To better understand this issue, we study the type inference problem in its entirety through the lens of abstract interpretation. We propose a new refinement type system that is parametric with the choice of the abstract domain of type refinements as well as the degree to which it tracks context-sensitive control flow information. We then derive an accompanying parametric inference…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
