Lolisa: Formal Syntax and Semantics for a Subset of the Solidity Programming Language in Mathematical Tool Coq
Joint Authors
Source
Mathematical Problems in Engineering
Issue
Vol. 2020, Issue 2020 (31 Dec. 2020), pp.1-15, 15 p.
Publisher
Hindawi Publishing Corporation
Publication Date
2020-12-01
Country of Publication
Egypt
No. of Pages
15
Main Subjects
Abstract EN
The security of blockchain smart contracts is one of the most emerging issues of the greatest interest for researchers.
This article presents an intermediate specification language for the formal verification of Ethereum-based smart contract in Coq, denoted as Lolisa.
The formal syntax and semantics of Lolisa contain a large subset of the Solidity programming language developed for the Ethereum blockchain platform.
To enhance type safety, the formal syntax of Lolisa adopts a stronger static type system than Solidity.
In addition, Lolisa includes a large subset of Solidity syntax components as well as general-purpose programming language features.
Therefore, Solidity programs can be directly translated into Lolisa with line-by-line correspondence.
Lolisa is inherently generalizable and can be extended to express other programming languages.
Finally, the syntax and semantics of Lolisa have been encapsulated as an interpreter in mathematical tool Coq.
Hence, smart contracts written in Lolisa can be symbolically executed and verified in Coq.
American Psychological Association (APA)
Yang, Zheng& Lei, Hang. 2020. Lolisa: Formal Syntax and Semantics for a Subset of the Solidity Programming Language in Mathematical Tool Coq. Mathematical Problems in Engineering،Vol. 2020, no. 2020, pp.1-15.
https://search.emarefa.net/detail/BIM-1196576
Modern Language Association (MLA)
Yang, Zheng& Lei, Hang. Lolisa: Formal Syntax and Semantics for a Subset of the Solidity Programming Language in Mathematical Tool Coq. Mathematical Problems in Engineering No. 2020 (2020), pp.1-15.
https://search.emarefa.net/detail/BIM-1196576
American Medical Association (AMA)
Yang, Zheng& Lei, Hang. Lolisa: Formal Syntax and Semantics for a Subset of the Solidity Programming Language in Mathematical Tool Coq. Mathematical Problems in Engineering. 2020. Vol. 2020, no. 2020, pp.1-15.
https://search.emarefa.net/detail/BIM-1196576
Data Type
Journal Articles
Language
English
Notes
Includes bibliographical references
Record ID
BIM-1196576