Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
4-2020
Abstract
Smart contracts can be regarded as one of the most popular blockchain-based applications. The decentralized nature of the blockchain introduces vulnerabilities absent in other programs. Furthermore, it is very difficult, if not impossible, to patch a smart contract after it has been deployed. Therefore, smart contracts must be formally verified before they are deployed on the blockchain to avoid attacks exploiting these vulnerabilities. There is a recent surge of interest in analyzing and verifying smart contracts. While most of the existing works either focus on EVM bytecode or translate Solidity contracts into programs in intermediate languages for analysis and verification, we believe that a direct executable formal semantics of the high-level programming language of smart contracts is necessary to guarantee the validity of the verification. In this work, we propose a generalized formal semantic framework based on a general semantic model of smart contracts. Furthermore, this framework can directly handle smart contracts written in different high-level programming languages through semantic extensions and facilitates the formal verification of security properties with the generated semantics.
Keywords
Blockchain, Smart contracts, Generalized semantic
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
Proceedings of 23rd International Conference on Fundamental Approaches to Software Engineering, FASE 2020, Dublin, Ireland, April 25-30
First Page
75
Last Page
96
Identifier
10.1007%2F978-3-030-45234-6_4
Publisher
Springer
City or Country
Dublin, Ireland
Citation
1
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.