Towards Understanding the Bugs in Solidity Compiler
Solidity compiler plays a key role in enabling the development of smart contract applications on Ethereum by governing the syntax of a domain-specific language called Solidity and performing compilation and optimization of Solidity code.
The correctness of Solidity compiler
is critical in fostering transparency, efficiency,
and trust in industries reliant on smart contracts.
However,
like other software systems,
Solidity compiler is prone to bugs,
which may produce incorrect bytecodes on blockchain platforms,
resulting in severe security concerns.
As a domain-specific compiler for smart contracts,
Solidity compiler differs from other compilers in many perspectives,
posing unique challenges to detect its bugs.
To understand the bugs in Solidity compiler
and benefit future research,
in this paper,
we present the first systematic study on 533 Solidity compiler bugs.
We carefully examined their characteristics (including symptoms, root causes, and distribution), and their triggering test cases.
Our study leads to seven bug-revealing takeaways for Solidity compiler.
Moreover,
to study the limitations of Solidity compiler fuzzers and bring our findings into practical scenarios, we evaluate three Solidity compiler fuzzers on our constructed benchmark.
The results show that these fuzzers are inefficient in detecting Solidity compiler bugs.
The inefficiency arises from their failure to consider the interesting bug-inducing features, bug-related compilation flags, and test oracles.
Fri 20 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 11:50 | |||
10:30 20mTalk | Inconsistencies in TeX-Produced Documents Technical Papers DOI Pre-print | ||
10:50 20mTalk | Fuzzing MLIR Compiler Infrastructure via Operation Dependency Analysis Technical Papers Chenyao Suo Tianjin University, Junjie Chen Tianjin University, Shuang Liu Renmin University of China, Jiajun Jiang Tianjin University, Yingquan Zhao Tianjin University, Jianrong Wang Tianjin University DOI | ||
11:10 20mTalk | Towards Understanding the Bugs in Solidity Compiler Technical Papers Haoyang Ma Hong Kong University of Science and Technology, Wuqi Zhang Hong Kong University of Science and Technology, Qingchao Shen Tianjin University, Yongqiang Tian Hong Kong University of Science and Technology, Junjie Chen Tianjin University, Shing-Chi Cheung Hong Kong University of Science and Technology DOI | ||
11:30 20mTalk | Uncovering and Mitigating the Impact of Code Obfuscation on Dataset Annotation with Antivirus Engines Technical Papers Gao Cuiying Huazhong University of Science and Technology; JD.com, Yueming Wu Nanyang Technological University, Heng Li Huazhong University of Science and Technology, Wei Yuan Huazhong University of Science and Technology, Haoyu Jiang Huazhong University of Science and Technology, Qidan He JD.com, Yang Liu Nanyang Technological University DOI |