*Result*: ByteSpector: A Verifying Disassembler for EVM Bytecode

Title:
ByteSpector: A Verifying Disassembler for EVM Bytecode
Authors:
Contributors:
Franck Cassez
Publisher Information:
Schloss Dagstuhl – Leibniz-Zentrum für Informatik
Publication Year:
2025
Collection:
DROPS - Dagstuhl Research Online Publication Server (Schloss Dagstuhl - Leibniz Center for Informatics )
Document Type:
*Academic Journal* article in journal/newspaper<br />conference object
File Description:
application/pdf
Language:
English
Relation:
Is Part Of OASIcs, Volume 129, 6th International Workshop on Formal Methods for Blockchains (FMBC 2025); https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.FMBC.2025.4
DOI:
10.4230/OASIcs.FMBC.2025.4
Accession Number:
edsbas.573D7AC7
Database:
BASE

*Further Information*

*We present ByteSpector, a tool for constructing and verifying control flow graphs (CFGs) from Ethereum Virtual Machine (EVM) bytecode. CFGs play a crucial role in analyzing smart contract behavior, but resolving dynamic jumps and ensuring CFG correctness remain significant challenges. ByteSpector addresses these challenges by generating formally verified CFGs, i.e., all target jumps have been resolved correctly, which can serve as a foundation for further contract verification. ByteSpector introduces several key innovation. First, ByteSpector features an efficient algorithm for resolving dynamic jumps that uses a combination of abstract interpretation and semantics reasoning. Second ByteSpector can automatically generate proof objects from EVM bytecode. Proof objects are Dafny programs that encode the semantics of the bytecode, and can be used to prove that computed CFGs over-approximate the contracts execution paths. Third, ByteSpector is written in Dafny and is guaranteed to be free of common runtime errors like array-out-bounds, division-by-zero etc. Moreover, the code and libraries can be automatically translated into multiple languages (e.g., C#, Python, Java, JavaScript), making them reusable in broader verification frameworks. By generating Dafny proof objects (and verified CFGs), ByteSpector provides a robust foundation for bytecode-level analysis, enabling formal verification of smart contracts beyond high-level source code analysis.*