Abstract interpretation of Michelson smart-contracts
Tue 14 Jun 2022 22:30 - 22:55 at Boardroom - Paper Session 1
Static analysis of smart-contracts is becoming more widespread on blockchain platforms. Analyzers rely on techniques like symbolic execution or model checking, but few of them can provide strong soundness properties and guarantee the analysis termination at the same time. As smart-contracts often manipulate economic assets, proving numerical properties beyond the absence of runtime errors is also desirable. Smart-contract execution models differ considerably from mainstream programming languages and vary from one blockchain to another, making state-of-the-art analyses hard to adapt. For instance, smart-contract calls may modify a persistent storage impacting subsequent calls. This makes it difficult for tools to infer invariants and high-level security properties required to formally ensure the absence of exploitable vulnerabilities.
The Michelson smart-contract language, used in the Tezos blockchain, is strongly typed, stack-based, and has a strict execution model designed to leave few opportunities for implicit runtime errors. At this moment, few analysis tools support it. We present a work in progress static analyzer for Michelson based on Abstract Interpretation and implemented within MOPSA, a modular static analyzer. Our tool supports the semantic features of Michelson, including inner calls to external contracts. It can prove the absence of runtime errors and infer invariants on the persistent storage over an unbounded number of calls. It is also being extended to prove high-level numerical and security properties.
Tue 14 JunDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00 | Paper Session 1 SOAP at Boardroom +12h Chair(s): Caterina Urban Inria & École Normale Supérieure | Université PSL All papers will be allocated a time slot of 25 min (20min talk + 5 min questions) | ||
10:30 25mTalk | Abstract interpretation of Michelson smart-contracts SOAP P: Guillaume Bau , Antoine Miné Sorbonne Université, Vincent Botbol Nomadic Labs, Mehdi Bouaziz Nomadic Labs Paris | ||
10:55 25mTalk | BinFPE: Accurate Floating-Point Exception Detection for GPU Applications SOAP P: Ignacio Laguna Lawrence Livermore National Laboratory, Xinyi Li University of Utah, Ganesh Gopalakrishnan University of Utah | ||
11:20 25mTalk | Towards an Implementation of Differential Dynamic Logic in PVSvirtual SOAP P: J Tanner Slagel , César Muñoz NASA Langley Research Center, Swee Balachandran National Institute of Aerospace, Mariano Moscato National Institute of Aerospace, Aaron Dutle NASA Langley Research Center, Paolo Masci National Institute of Aerospace, USA, Lauren White NASA Langley Research Center | ||
11:45 25mTalk | Statically Detecting Data Leakages in Data Science Codevirtual SOAP |
22:30 - 00:00 | |||
22:30 25mTalk | Abstract interpretation of Michelson smart-contracts SOAP P: Guillaume Bau , Antoine Miné Sorbonne Université, Vincent Botbol Nomadic Labs, Mehdi Bouaziz Nomadic Labs Paris | ||
22:55 25mTalk | BinFPE: Accurate Floating-Point Exception Detection for GPU Applications SOAP P: Ignacio Laguna Lawrence Livermore National Laboratory, Xinyi Li University of Utah, Ganesh Gopalakrishnan University of Utah | ||
23:20 25mTalk | Towards an Implementation of Differential Dynamic Logic in PVSvirtual SOAP P: J Tanner Slagel , César Muñoz NASA Langley Research Center, Swee Balachandran National Institute of Aerospace, Mariano Moscato National Institute of Aerospace, Aaron Dutle NASA Langley Research Center, Paolo Masci National Institute of Aerospace, USA, Lauren White NASA Langley Research Center | ||
23:45 25mTalk | Statically Detecting Data Leakages in Data Science Codevirtual SOAP |