DEFECTCHECKER: Automated Smart Contract Defect Detection by Analyzing EVM Bytecode
Jiachi Chen, Xin Xia, David Lo, John Grundy, Xiapu Luo, Ting Chen

TL;DR
DefectChecker is an automated tool that uses symbolic execution to detect critical defects in Ethereum smart contracts from bytecode, improving accuracy and speed over previous methods and identifying vulnerabilities in real-world contracts.
Contribution
This paper introduces DefectChecker, a novel symbolic execution-based approach for detecting eight critical smart contract defects directly from bytecode, outperforming existing tools.
Findings
DefectChecker detects 8 contract defects with higher accuracy and speed.
Applied to 165,621 contracts, it found 25,815 with serious defects.
Identified real-world vulnerabilities in deployed contracts.
Abstract
Smart contracts are Turing-complete programs running on the blockchain. They are immutable and cannot be modified, even when bugs are detected. Therefore, ensuring smart contracts are bug-free and well-designed before deploying them to the blockchain is extremely important. A contract defect is an error, flaw or fault in a smart contract that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. Detecting and removing contract defects can avoid potential bugs and make programs more robust. Our previous work defined 20 contract defects for smart contracts and divided them into five impact levels. According to our classification, contract defects with seriousness level between 1-3 can lead to unwanted behaviors, e.g., a contract being controlled by attackers. In this paper, we propose DefectChecker, a symbolic execution-based approach and tool to detect…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
