IDOL: Improved Different Optimization Levels Testing for Solidity Compilers

📅 2025-06-15
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Compiler optimizations in the Solidity compiler may introduce semantic inconsistencies, compromising smart contract security. Method: This paper proposes IDOL, a novel compiler testing methodology that leverages semantic equivalence constraints to enable *inverse optimization transformations*: given an optimized contract, IDOL systematically reconstructs an equivalent unoptimized variant to expose deep-seated optimization logic flaws. IDOL integrates Solidity AST parsing and rewriting with a multi-level optimization flag combinatorial testing framework. Contribution/Results: Evaluated on real-world Solidity compilers, IDOL identified three confirmed optimization vulnerabilities—including one assigned a CVE—demonstrating its effectiveness in uncovering subtle, previously undetected compiler defects. To our knowledge, this is the first work to apply inverse optimization principles to compiler testing, significantly improving coverage of optimization paths and enhancing defect-triggering capability.

Technology Category

Application Category

📝 Abstract
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.
Problem

Research questions and friction points this paper is trying to address.

Testing Solidity compiler optimization levels for bugs
Ensuring smart contract security via compiler validation
Detecting vulnerabilities in unmodifiable deployed smart contracts
Innovation

Methods, ideas, or system contributions that make the work stand out.

Reverse optimization transformations for Solidity compiler
Generates semantically equivalent contract variants
Maximizes triggering compiler optimization logic
🔎 Similar Papers
No similar papers found.