THESIS
2020
Abstract
Ethereum virtual machine(EVM) is the heart of the Ethereum infrastructure and functions
as the runtime environment for smart contracts. Inconsistencies in EVMs may cause
transaction sender’ financial losses. Furthermore, EVM’s vulnerabilities may lead to serious
problems such as transaction failure or even client crashes. Thus, it is critical to
ensure the reliability and consistency of mainstream EVM implementations. However,
not much work has been done on validating EVMs. In this thesis, we design 5 mutators
to continuously manipulate the control flow of seed bytecodes of smart contracts to generate
semantically different mutants. These mutants execute on a reference EVM and use
branch coverage of EVM as guidelines to selectively accept the generated mutants. This
step steers...[
Read more ]
Ethereum virtual machine(EVM) is the heart of the Ethereum infrastructure and functions
as the runtime environment for smart contracts. Inconsistencies in EVMs may cause
transaction sender’ financial losses. Furthermore, EVM’s vulnerabilities may lead to serious
problems such as transaction failure or even client crashes. Thus, it is critical to
ensure the reliability and consistency of mainstream EVM implementations. However,
not much work has been done on validating EVMs. In this thesis, we design 5 mutators
to continuously manipulate the control flow of seed bytecodes of smart contracts to generate
semantically different mutants. These mutants execute on a reference EVM and use
branch coverage of EVM as guidelines to selectively accept the generated mutants. This
step steers the mutation process toward diverse mutants. The generated mutants are then
employed to differentially test EVMs.
We have evaluated this technique on mainstream EVM implementations, including go-ethereum,
openethereum and aleth. Compared to existing work, the experimental results
show that our approach can (1) generate more valid test cases in a short time period; (2)
achieve higher code coverage in EVM and (3) discover some previously unknown issues
among EVMs.
Post a Comment