Skip to Main content Skip to Navigation
Conference papers

Liveness-Driven Random Program Generation

Abstract : Randomly generated programs are popular for testing compilers and program analysis tools, with hundreds of bugs in real-world C compilers found by random testing. However, existing random program generators may generate large amounts of dead code (computations whose result is never used). This leaves relatively little code to exercise a target compiler's more complex optimizations. To address this shortcoming, we introduce liveness-driven random program generation. In this approach the random program is constructed bottom-up, guided by a simultaneous structural data-flow analysis to ensure that the generator never generates dead code. The algorithm is implemented as a plugin for the Frama-C framework. We evaluate it in comparison to Csmith, the standard random C program generator. Our tool generates programs that compile to more machine code with a more complex instruction mix.
Complete list of metadata

Cited literature [21 references]  Display  Hide  Download
Contributor : Gergö Barany Connect in order to contact the contributor
Submitted on : Thursday, August 23, 2018 - 3:02:24 PM
Last modification on : Thursday, January 7, 2021 - 3:36:01 PM
Long-term archiving on: : Saturday, November 24, 2018 - 2:00:28 PM


Files produced by the author(s)


  • HAL Id : hal-01860621, version 1



Gergö Barany. Liveness-Driven Random Program Generation. Logic-Based Program Synthesis and Transformation. LOPSTR 2017, Oct 2017, Namur, Belgium. ⟨hal-01860621⟩



Record views


Files downloads