Refinements of Futures Past: Higher-Order Specification with Implicit Refinement Types
Thu 15 Jul 2021 02:00 - 02:20 at ECOOP 1 - Types (time band 2) Chair(s): Werner Dietl
Refinement types decorate types with assertions that enable automatic verification. Like assertions, refinements are limited to binders that are in scope, and hence, cannot express higher-order specifications. Ghost variables circumvent this limitation but are prohibitively tedious to use as the programmer must divine and explicate their values at all call-sites. We introduce Implicit Refinement Types which turn ghost variables into implicit pair and function types, in a way that lets the refinement typechecker automatically synthesize their values at compile time. Implicit Refinement Types further take advantage of refinement type information, allowing them to be used as a lightweight verification tool, rather than merely as a technique to automate programming tasks. We evaluate the utility of Implicit Refinement Types by showing how they enable the modular specification and automatic verification of various higher-order examples including stateful protocols, access control, and resource usage.
Wed 14 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
18:30 - 19:30 | Types (time band 1)ECOOP Technical Papers at ECOOP 1 Chair(s): Sam Tobin-Hochstadt Indiana University | ||
18:30 20mTalk | Refinements of Futures Past: Higher-Order Specification with Implicit Refinement Types ECOOP Technical Papers Anish Tondwalkar University of California, San Diego, Matthew Kolosick University of California, San Diego, Ranjit Jhala University of California at San Diego DOI | ||
18:50 20mTalk | Scope States: Guarding Safety of Name Resolution in Parallel Type Checkers ECOOP Technical Papers DOI File Attached | ||
19:10 20mTalk | Idris 2: Quantitative Type Theory in Practice ECOOP Technical Papers Edwin Brady University of St Andrews, UK DOI Media Attached |
Thu 15 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
01:40 - 02:20 | |||
01:40 20mTalk | Type-Directed Operational Semantics for Gradual Typing ECOOP Technical Papers Wenjia Ye The University of Hong Kong, Bruno C. d. S. Oliveira University of Hong Kong, Xuejing Huang The University of Hong Kong DOI Media Attached File Attached | ||
02:00 20mTalk | Refinements of Futures Past: Higher-Order Specification with Implicit Refinement Types ECOOP Technical Papers Anish Tondwalkar University of California, San Diego, Matthew Kolosick University of California, San Diego, Ranjit Jhala University of California at San Diego DOI |