2019
DOI: 10.1007/978-3-030-30942-8_35
|View full text |Cite
|
Sign up to set email alerts
|

IELE: A Rigorously Designed Language and Tool Ecosystem for the Blockchain

Abstract: This paper proposes IELE, an LLVM-style language, together with a tool ecosystem for implementing and formally reasoning about smart contracts on the blockchain. IELE was designed by specifying its semantics formally in the K framework. Its implementation, a IELE virtual machine (VM), as well as a formal verification tool for IELE smart contracts, were automatically generated from the formal specification. The automatically generated formal verification tool allows us to formally verify smart contracts without… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
15
0

Year Published

2019
2019
2022
2022

Publication Types

Select...
4
3
2

Relationship

1
8

Authors

Journals

citations
Cited by 16 publications
(15 citation statements)
references
References 13 publications
0
15
0
Order By: Relevance
“…Although this may suffice for many smart contracts, Obsidian provides a richer, Turing-complete environment. Likewise, IELE [Kasampalis et al 2019] is an intermediate language with a compiler that translates from Solidity. IELE is intended to facilitate automatic formal verification of properties that are specified in the K framework [Roşu and Şerbănută 2010].…”
Section: Smart Contract Languagesmentioning
confidence: 99%
“…Although this may suffice for many smart contracts, Obsidian provides a richer, Turing-complete environment. Likewise, IELE [Kasampalis et al 2019] is an intermediate language with a compiler that translates from Solidity. IELE is intended to facilitate automatic formal verification of properties that are specified in the K framework [Roşu and Şerbănută 2010].…”
Section: Smart Contract Languagesmentioning
confidence: 99%
“…Since arithmetic issues are often caused by non-validated function arguments, their identification is entrusted to pre-and postconditions [105,115,151,160] and assertions [78,183]. The (formally certified [175,220]) SafeMath [157] Solidity library implements similar checks via the require statements.…”
Section: Properties Classification By Domainsmentioning
confidence: 99%
“…Sun et al [187] additionally check that the value to be transferred is greater than zero, a crowdfunding specified by Kalra et al [114] only accepts investments bigger than a threshold limit, while Dickerson et al [71] require user balances to be non-negative. The latter property can be found in specifications of banking contracts [9,115], while wallets usually require the opposite: the authors of [50,114] request a user to respect the limit of Ether that can be transferred out of a contract within a transaction or a contract lifetime, respectively. A wallet specification by Kalra et al [114] does not permit users to transfer funds to themselves, while ERC20-K [111] allows self-transfers but considers it a special case.…”
Section: Financementioning
confidence: 99%
“…KEVM [24] defines the semantic of EVM in K and verifies the smart contract against user defined specifications. IELE [28] presents a smart contract virtual machine with a formal specification described in K which achieves similar performance as EVM and provides verifiability.…”
Section: Related Workmentioning
confidence: 99%