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-ow 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 metadatas

Cited literature [13 references]  Display  Hide  Download

https://hal.inria.fr/hal-01658563
Contributor : Gergö Barany <>
Submitted on : Thursday, December 7, 2017 - 4:58:47 PM
Last modification on : Thursday, April 26, 2018 - 10:28:43 AM

File

lopstr2017.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01658563, version 1
  • ARXIV : 1709.04421

Collections

Citation

Gergö Barany. Liveness-Driven Random Program Generation. 2017. ⟨hal-01658563⟩

Share

Metrics

Record views

137

Files downloads

187