ICFP 2022
Sun 11 - Fri 16 September 2022 Ljubljana, Slovenia
Mon 12 Sep 2022 15:00 - 15:20 at Linhart - Analysis and Transformations Chair(s): Malgorzata Biernacka

We describe our experience of using property-based testing—an approach for automatically generating random inputs to check executable program specifications—in a development of a higher-order smart contract language that powers a state-of-the-art blockchain with thousands of active daily users.

We outline the process of integrating QuickChick—a framework for property-based testing built on top of the Coq proof assistant—into a real-world language implementation in OCaml. We discuss the challenges we have encountered when generating well-typed programs for a realistic higher-order smart contract language, which mixes purely functional and imperative computations and features runtime resource accounting. We describe the set of the language implementation properties that we tested, as well as the semantic harness required to enable their validation. The properties range from the standard type safety to the soundness of a control- and type-flow analysis used by the optimizing compiler. Finally, we present the list of bugs discovered and rediscovered with the help of QuickChick and discuss their severity and possible ramifications.

Mon 12 Sep

Displayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change

13:40 - 15:20
Analysis and TransformationsICFP Papers and Events at Linhart
Chair(s): Malgorzata Biernacka University of Wrocław
13:40
20m
Talk
Reference Counting with Frame Limited Reuse
ICFP Papers and Events
Anton Lorenzen University of Bonn, Daan Leijen Microsoft Research
DOI
14:00
20m
Talk
Entanglement Detection With Near-Zero CostDistinguished Paper
ICFP Papers and Events
Sam Westrick Carnegie Mellon University, Jatin Arora Carnegie Mellon University, Umut A. Acar Carnegie Mellon University
DOI
14:20
20m
Talk
Generating circuits with generators
ICFP Papers and Events
Marek Materzok University of Wroclaw
DOI
14:40
20m
Talk
Staged Compilation With Two-Level Type Theory
ICFP Papers and Events
András Kovács Eötvös Loránd University
DOI
15:00
20m
Talk
Random Testing of a Higher-Order Blockchain LanguageExperience Report
ICFP Papers and Events
Tram Hoang National University of Singapore, Anton Trunov Zilliqa Research, Leonidas Lampropoulos University of Maryland, College Park, Ilya Sergey National University of Singapore
DOI Pre-print