Solsmith: Solidity Random Program Generator for Compiler Testing
Lantian Li, Zhihao Liu, and Zhongxing Yu

TL;DR
Solsmith is a specialized tool that generates diverse Solidity smart contract programs to test and identify defects in Solidity compilers, enhancing their correctness and reliability.
Contribution
This paper introduces Solsmith, a novel program generator for Solidity that focuses on uncovering compiler defects through tailored test program generation strategies.
Findings
Generated test programs successfully detected four compiler defects.
Solsmith produces valid and diverse Solidity programs effectively.
Differential testing validated the effectiveness of generated programs.
Abstract
Smart contracts are computer programs that run on blockchain platforms, with Solidity being the most widely used language for their development. As blockchain technology advances, smart contracts have become increasingly important across various fields. In order for smart contracts to operate correctly, the correctness of the compiler is particularly crucial. Although some research efforts have been devoted to testing Solidity compilers, they primarily focus on testing methods and do not address the core issue of generating test programs. To fill this gap, this paper designs and implements Solsmith, a test program generator specifically aimed at uncovering defects in Solidity compilers. It tests the compiler correctness by generating valid and diverse Solidity programs. We have designed a series of unique program generation strategies tailored to Solidity, including enabling…
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.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Blockchain Technology Applications and Security · Logic, programming, and type systems
