Write a Blog >>
SPLASH 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
Thu 24 Oct 2019 16:45 - 17:07 at Olympia - Types Chair(s): Éric Tanter

We present the design, implementation, and foundation of a verifier for higher-order functional programs with generics and recursive data types. Our system supports proving safety and termination using preconditions, postconditions and assertions. It supports writing proof hints using assertions and recursive calls. To formalize the soundness of the system we introduce System FR, a calculus supporting System F polymorphism, dependent refinement types, and recursive types (including recursion through contravariant positions of function types). Through the use of sized types, System FR supports reasoning about termination of lazy data structures such as streams. We formalize a reducibility argument using the Coq proof assistant and prove the soundness of a type-checker with respect to call-by-value semantics, ensuring type safety and normalization for typeable programs. Our program verifier is implemented as an alternative verification-condition generator for the Stainless tool, which relies on the Inox SMT-based solver backend for automation. We demonstrate the efficiency of our approach by verifying a collection of higher-order functional programs comprising around 14000 lines of polymorphic higher-order Scala code, including graph search algorithms, basic number theory, monad laws, functional data structures, and assignments from popular Functional Programming MOOCs.

Thu 24 Oct

Displayed time zone: Beirut change

16:00 - 17:30
TypesOOPSLA at Olympia
Chair(s): Éric Tanter University of Chile & Inria Paris
16:00
22m
Talk
Mergeable Replicated Data Types
OOPSLA
Gowtham Kaki Purdue University, Swarn Priya Purdue University, KC Sivaramakrishnan IIT Madras, Suresh Jagannathan Purdue University
Link to publication DOI
16:22
22m
Talk
Refinement Kinds: Type-Safe Programming with Practical Type-Level Computation
OOPSLA
Luís Caires Universidade Nova de Lisboa and NOVA LINCS, Bernardo Toninho Universidade Nova de Lisboa and NOVA LINCS
DOI
16:45
22m
Talk
System FR: Formalized Foundations for the Stainless Verifier
OOPSLA
Jad Hamza EPFL, Switzerland, Nicolas Voirol EPFL, Switzerland, Viktor Kunčak EPFL, Switzerland
DOI
17:07
22m
Talk
Complete Monitors for Gradual Types
OOPSLA
Ben Greenman PLT @ Northeastern University, Matthias Felleisen PLT @ Northeastern University, Christos Dimoulas PLT @ Northwestern University
DOI