English

Refinement Type Inference via Horn Constraint Optimization

Programming Languages 2015-05-19 v2

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.

Keywords

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

R2 v1 2026-06-22T09:32:25.046Z