SPLASH 2022
Mon 5 - Sat 10 December 2022 Auckland, New Zealand
Wed 7 Dec 2022 15:30 - 16:00 at Lecture Theatre 2 - SAS Papers 2 Chair(s): Benoît Montagu

Solidity smart contracts are programs that manage up to 2^160 users on a blockchain. Verifying a smart contract relative to all users is intractable due to state explosion. Existing solutions either restrict the number of users to under-approximate behaviour, or rely on manual proofs. In this paper, we present local bundles that reduce contracts with arbitrarily many users to sequential programs with a few representative users. Each representative user abstracts concrete users that are locally symmetric to each other relative to the contract and the property. Our abstraction is semi-automated. The representatives depend on communication patterns, and are computed via static analysis. A summary for the behaviour of each representative is provided manually, but a default summary is often sufficient. Once obtained, a local bundle is amenable to sequential static analysis. We show that local bundles are relatively complete for parameterized safety verification, under moderate assumptions. We implement local bundle abstraction in SMARTACE, and show order-of-magnitude speedups compared to a state-of-the-art verifier.

Wed 7 Dec

Displayed time zone: Auckland, Wellington change

15:30 - 17:00
15:30
30m
Talk
Compositional Verification of Smart Contracts Through Communication Abstraction
COVID Time Papers In Person
Scott Wesley University of Waterloo, Canada, Maria Christakis MPI-SWS, Jorge A. Navas Certora, inc., Richard Trefler University of Waterloo, Canada, Valentin Wüstholz ConsenSys, Arie Gurfinkel University of Waterloo
Link to publication DOI
16:30
30m
Talk
Interprocedural Shape Analysis Using Separation Logic-Based Transformer Summaries
COVID Time Papers In Person
Hugo Illous CEA & INRIA / ENS Paris, Matthieu Lemerre CEA LIST, France, Xavier Rival INRIA/CNRS/ENS Paris
Link to publication DOI