Towards a Sound Construction of EVM Bytecode Control-flow Graphs
Ethereum enables the creation and execution of decentralized applications through smart contracts, that are compiled to Ethereum Virtual Machine (EVM) bytecode. Once deployed in the blockchain, the bytecode is immutable; hence, ensuring that smart contracts are bug-free before their deployment is of utmost importance. A crucial preliminary step for any effective static analysis of EVM bytecode is the extraction of the control-flow graph (CFG): this presents significant challenges due to dynamically computed jump destinations. In this paper we present a novel approach, based on abstract intepretation, aiming at building a sound CFG from EVM bytecode smart contracts. Our analysis, which is implemented in our static analyzer EVMLiSA, is based on a parametric abstract domain that approximates concrete execution stacks at each program point as a $l$-sized set of abstract stacks of maximal height $h$; the results of the analysis are then used to resolve the jump destinations at jump nodes. On our preliminary experiments, by fine-tuning the analysis parameters, EVMLiSA achives sound CFGs for all smart contracts where permantent storage-related opcodes do not influence jump destinations.
Fri 20 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | |||
13:30 30mTalk | Sound Static Analysis for Microservices: Utopia? A preliminary experience with LiSA FTfJP Giacomo Zanatta Ca’ Foscari University of Venice, Pietro Ferrara Università Ca' Foscari, Venezia, Italy, Teodors Lisovenko Ca' Foscari University of Venice, Luca Negrini Ca’ Foscari University of Venice, Gianluca Caiazza Ca' Foscari University of Venice, Ruffin White White Robotics | ||
14:00 30mTalk | Towards a Sound Construction of EVM Bytecode Control-flow Graphs FTfJP Vincenzo Arceri University of Parma, Italy, Saverio Mattia Merenda University of Parma, Italy, Greta Dolcetti Ca' Foscari University of Venice - Department of Environmental Sciences, Informatics and Statistics, Luca Negrini Ca’ Foscari University of Venice, Luca Olivieri University Ca' Foscari, Venice, Enea Zaffanella University of Parma, Italy | ||
14:30 30mTalk | Abstract Interpretation of Java Bytecode in Sturdy FTfJP |