Blogs (28) >>
ICFP 2017
Sun 3 - Sat 9 September 2017 Oxford, United Kingdom
Tue 5 Sep 2017 15:46 - 16:10 at L1 - Tools for Verification Chair(s): Nikhil Swamy

We introduce the FUSION algorithm for local refinement type inference, yielding a new SMT-based method for verifying programs with polymorphic data types and higher-order functions. FUSION is concise as the programmer need only write signatures for (externally exported) top-level functions and places with cyclic (recursive) dependencies, after which FUSION can predictably synthesize the most precise refinement types for all intermediate terms (expressible in the decidable refinement logic), thereby checking the program without false alarms. We have implemented FUSION and evaluated it on the benchmarks from the LiquidHaskell suite totalling about 12KLOC. FUSION checks an existing safety benchmark suite using about half as many templates as previously required and nearly 2x faster. In a new set of theorem proving benchmarks FUSION is both 10 - 50x faster and, by synthesizing the most precise types, avoids false alarms to make verification possible.

Tue 5 Sep

15:00 - 16:10: Research Papers - Tools for Verification at L1
Chair(s): Nikhil SwamyMicrosoft Research, n.n.
icfp-2017-papers150461640000015:00 - 15:23
Joonwon ChoiMassachusetts Institute of Technology, USA, Muralidaran VijayaraghavanMassachusetts Institute of Technology, USA, Benjamin ShermanMassachusetts Institute of Technology, USA, Adam ChlipalaMassachusetts Institute of Technology, USA, Arvind Massachusetts Institute of Technology, USA
icfp-2017-papers150461780000015:23 - 15:46
Konstantin WeitzUniversity of Washington, USA, Steven LyubomirskyUniversity of Washington, USA, Stefan HeuleStanford University, USA, Emina TorlakUniversity of Washington, USA, Michael D. ErnstUniversity of Washington, USA, Zachary TatlockUniversity of Washington, USA
icfp-2017-papers150461920000015:46 - 16:10
Benjamin CosmanUniversity of California at San Diego, USA, Ranjit JhalaUniversity of California at San Diego, USA