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.
Type de document :
Communication dans un congrès
Logic-Based Program Synthesis and Transformation. LOPSTR 2017, Oct 2017, Namur, Belgium. 10855, 2018, Lecture Notes in Computer Science. 〈https://www.sci.unich.it/lopstr17/〉
Liste complète des métadonnées

Littérature citée [1 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01860621
Contributeur : Gergö Barany <>
Soumis le : jeudi 23 août 2018 - 15:02:24
Dernière modification le : lundi 27 août 2018 - 10:18:15
Document(s) archivé(s) le : samedi 24 novembre 2018 - 14:00:28

Fichier

lopstr2017.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01860621, version 1

Collections

Citation

Gergö Barany. Liveness-Driven Random Program Generation. Logic-Based Program Synthesis and Transformation. LOPSTR 2017, Oct 2017, Namur, Belgium. 10855, 2018, Lecture Notes in Computer Science. 〈https://www.sci.unich.it/lopstr17/〉. 〈hal-01860621〉

Partager

Métriques

Consultations de la notice

263

Téléchargements de fichiers

12