2019
DOI: 10.1007/978-3-030-31500-9_15
|View full text |Cite
|
Sign up to set email alerts
|

A Minimal Core Calculus for Solidity Contracts

Abstract: The Ethereum platform supports the decentralized execution of smart contracts, i.e. computer programs that transfer digital assets between users. The most common language used to develop these contracts is Solidity, a Javascript-like language which compiles into EVM bytecode, the language actually executed by Ethereum nodes. While much research has addressed the formalisation of the semantics of EVM bytecode, relatively little attention has been devoted to that of Solidity. In this paper we propose a minimal c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
10
0

Year Published

2019
2019
2021
2021

Publication Types

Select...
5
2

Relationship

2
5

Authors

Journals

citations
Cited by 17 publications
(12 citation statements)
references
References 16 publications
(17 reference statements)
0
10
0
Order By: Relevance
“…For the high level language Solidity, despite first efforts within the scientific community [8,10,20,34,35], there exists at present no full and generally accepted formal semantics. Consequently the semantics of Solidity is only defined by its compilation to EVM bytecode.…”
Section: Analysis Designmentioning
confidence: 99%
“…For the high level language Solidity, despite first efforts within the scientific community [8,10,20,34,35], there exists at present no full and generally accepted formal semantics. Consequently the semantics of Solidity is only defined by its compilation to EVM bytecode.…”
Section: Analysis Designmentioning
confidence: 99%
“…A refinement of the type system is also proposed to enhance the type safety of Solidity. Similarly, TinySol [45] is a minimal calculus for Solidity contracts. Nevertheless, these calculus-based formalizations are not directly executable, making them infeasible in semantics validation and automatic verification.…”
Section: A Related Workmentioning
confidence: 99%
“…While the removed element can no longer be accessed via indexing into an array (a runtime error occurs), it can still be accessed via local storage pointers (see Figure 12). 10…”
Section: Statementsmentioning
confidence: 99%
“…For Solidity-level properties of smart contracts, Solidity-level semantics are preferred. While some aspects of Solidity have been studied and formalized [24,10,15,31], the semantics of the Solidity memory model still lacks a detailed and precise formalization that also enables automation.…”
mentioning
confidence: 99%