Abstract
Solidity is an object-oriented and high-level language for writing smart contracts that are used to execute, verify and enforce credible transactions on permissionless blockchains. In the last few years, analysis of smart contracts has raised considerable interest and numerous techniques have been proposed to check the presence of vulnerabilities in them. Current techniques lack traceability in source code and have widely differing work flows. There is no single unifying framework for analysis, instrumentation, optimisation and code generation of Solidity contracts. In this paper, we present SIF, a comprehensive framework for Solidity contract analysis, query, instrumentation, and code generation. SIF provides support for Solidity contract developers and testers to build source level techniques for analysis, understanding, diagnostics, optimisations and code generation. We show feasibility and applicability of the framework by building practical tools on top of it and running them on 1838 real smart contracts deployed on the Ethereum network.
Original language | English |
---|---|
Title of host publication | 2019 26th Asia-Pacific Software Engineering Conference (APSEC) |
Publisher | Institute of Electrical and Electronics Engineers (IEEE) |
Pages | 466-473 |
Number of pages | 8 |
ISBN (Electronic) | 978-1-7281-4648-5 |
ISBN (Print) | 978-1-7281-4649-2 |
DOIs | |
Publication status | Published - 2 Jan 2020 |
Event | The 26th Asia-Pacific Software Engineering Conference - Putrajaya, Malaysia Duration: 2 Dec 2019 → 5 Dec 2019 https://seminar.utmspace.edu.my/apsec2019/ |
Publication series
Name | |
---|---|
Publisher | Institute of Electrical and Electronics Engineers (IEEE) |
ISSN (Print) | 1530-1362 |
ISSN (Electronic) | 2640-0715 |
Conference
Conference | The 26th Asia-Pacific Software Engineering Conference |
---|---|
Abbreviated title | APSEC 2019 |
Country/Territory | Malaysia |
City | Putrajaya |
Period | 2/12/19 → 5/12/19 |
Internet address |
Keywords
- high level languages
- software testing
- code instrumentation
- program analysis