IDOL: Improved Different Optimization Levels Testing for Solidity Compilers
By: Lantian Li, Yejian Liang, Zhongxing Yu
Potential Business Impact:
Finds hidden bugs in smart contract code.
As blockchain technology continues to evolve and mature, smart contracts have become a key driving force behind the digitization and automation of transactions. Smart contracts greatly simplify and refine the traditional business transaction processes, and thus have had a profound impact on various industries such as finance and supply chain management. However, because smart contracts cannot be modified once deployed, any vulnerabilities or design flaws within the contract cannot be easily fixed, potentially leading to significant financial losses or even legal issues. The compiler, as a critical component in the development process, directly affects the quality and security of smart contracts. This paper innovatively proposes a method, known as the Improved Different Optimization Levels (IDOL), for testing the Solidity compiler. The key idea behind IDOL is to perform reverse optimization transformations (i.e., change optimized form into unoptimized form) to generate semantically equivalent variants of the smart contracts under test, aiming to maximize the opportunities to trigger the optimization logic of compilers. We conducted a preliminary evaluation of IDOL and three confirmed compiler optimization bugs have been uncovered at the time of writing.
Similar Papers
Solsmith: Solidity Random Program Generator for Compiler Testing
Software Engineering
Finds mistakes in code that runs money online.
How Do Solidity Versions Affect Vulnerability Detection Tools? An Empirical Study
Software Engineering
Finds bugs in computer money code.
A Comprehensive Study of Exploitable Patterns in Smart Contracts: From Vulnerability to Defense
Cryptography and Security
Finds and fixes dangerous code in digital money systems.