Solsmith is a testing program generator specifically designed to discover defects in the Solidity compiler by generating valid Solidity code to test the compiler's correctness. To generate test programs that are more likely to expose defects in the Solidity compiler, we have designed a series of unique code generation strategies tailored for Solidity. These strategies include more frequent enabling of optimizations, manually adjusting the generation probabilities of different syntax components, avoiding undefined behavior, and preventing behavioral differences caused by intermediate representations. Among these, more frequent enabling of optimizations allows for more efficient compiler testing, manually adjusting the generation probabilities of different syntax components increases the diversity of the generated test programs, and avoiding undefined behavior and intermediate representation-induced differences ensures the consistency of the generated test programs across different environments.
HighBe/Solsmith
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|