Specification Mining for Smart Contracts with Automatic Abstraction Tuning

07/20/2018
by   Florentin Guth, et al.
0

Smart contracts are programs that manage digital assets according to a certain protocol, expressing for instance the rules of an auction. Understanding the possible behaviors of a smart contract is difficult, which complicates development, auditing, and the post-mortem analysis of attacks. This paper presents the first specification mining technique for smart contracts. Our technique extracts the possible behaviors of smart contracts from contract executions recorded on a blockchain and expresses them as finite automata. A novel dependency analysis allows us to separate independent interactions with a contract. Our technique tunes the abstractions for the automata construction automatically based on configurable metrics, for instance, to maximize readability or precision. We implemented our technique for the Ethereum blockchain and evaluated its usability on several real-world contracts.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/06/2020

DEFECTCHECKER: Automated Smart Contract Defect Detection by Analyzing EVM Bytecode

Smart contracts are Turing-complete programs running on the blockchain. ...
research
03/26/2022

A Runtime Environment for Contract Automata

Realising contract-based applications from formal specifications with fo...
research
04/10/2020

Resources: A Safe Language Abstraction for Money

Smart contracts are programs that implement potentially sophisticated tr...
research
11/28/2020

Verification of recursive Bitcoin contracts

Smart contracts - computer protocols that regulate the exchange of crypt...
research
08/15/2022

Smart Contract Synthesis Modulo Hyperproperties

Smart contracts are small but highly security-critical programs that imp...
research
07/19/2021

Compositional Verification of Smart Contracts Through Communication Abstraction (Extended)

Solidity smart contracts are programs that manage up to 2^160 users on a...
research
01/25/2022

Scalable Typestate Analysis for Low-Latency Environments

Static analyses based on typestates are important in certifying correctn...

Please sign up or login with your details

Forgot password? Click here to reset