Refinement Type Inference via Horn Constraint Optimization
Abstract
We propose a novel method for inferring refinement types of higher-order functional programs. The main advantage of the proposed method is that it can infer maximally preferred (i.e., Pareto optimal) refinement types with respect to a user-specified preference order. The flexible optimization of refinement types enabled by the proposed method paves the way for interesting applications, such as inferring most-general characterization of inputs for which a given program satisfies (or violates) a given safety (or termination) property. Our method reduces such a type optimization problem to a Horn constraint optimization problem by using a new refinement type system that can flexibly reason about non-determinism in programs. Our method then solves the constraint optimization problem by repeatedly improving a current solution until convergence via template-based invariant generation. We have implemented a prototype inference system based on our method, and obtained promising results in preliminary experiments.
Cite
@article{arxiv.1505.02878,
title = {Refinement Type Inference via Horn Constraint Optimization},
author = {Kodai Hashimoto and Hiroshi Unno},
journal= {arXiv preprint arXiv:1505.02878},
year = {2015}
}
Comments
19 pages