Program Synthesis from Refinement Types

Subscribers:
343,000
Published on ● Video Link: https://www.youtube.com/watch?v=KZwpQIpqbf4



Duration: 54:12
973 views
14


The key to scalable program synthesis is modular verification, which enables pruning inviable candidates for each component of the target program independently. In this talk I will present Synquid: a synthesizer that takes advantage of the modularity offered by refinement type checking to efficiently generate recursive functional programs that satisfy a given specification in the form of a refinement type. The use of parametric polymorphism, coupled with automatic instantiation via Liquid Types inference, significantly enhances the expressive power of the system, allowing Synquid to synthesize programs that require elaborate reasoning from concise specifications.







Tags:
microsoft research
program languages and software engineering