Title
ICE-Based Refinement Type Discovery for Higher-Order Functional Programs
Abstract
We propose a method for automatically finding refinement types of higher-order function programs. Our method is an extension of theIceframework of Garg et al. for finding invariants. In addition to the usual positive and negative samples in machine learning, theirIceframework usesimplication constraints, which consist of pairs (x, y) such that ifxsatisfies an invariant, so doesy. From these constraints,Iceinfersinductiveinvariants effectively. We observe that the implication constraints in the originalIceframework are not suitable for finding invariants of recursive functions with multiple function calls. We thus generalize the implication constraints to those of the form({x(1),...,x(k)},y), which eans that if all of x(1),...x(k) satisfy an invariant, so doesy. We extend their algorithms for inferring likely invariants from samples, verifying the inferred invariants, and generating new samples. We have implemented our method and confirmed its effectiveness through experiments.
Year
DOI
Venue
2020
10.1007/s10817-020-09571-y
JOURNAL OF AUTOMATED REASONING
Keywords
DocType
Volume
Higher-order program verification,Machine learning,Formal verification,Refinement types
Journal
64.0
Issue
ISSN
Citations 
SP7
0168-7433
0
PageRank 
References 
Authors
0.34
0
4
Name
Order
Citations
PageRank
Adrien Champion100.34
Tomoya Chiba200.34
Naoki Kobayashi303.38
Ryosuke Sato4215.07