Skip to Main content Skip to Navigation

Génération aléatoire de programmes guidée par la vivacité

Gergö Barany 1 Gabriel Scherer 2
2 PARSIFAL - Proof search and reasoning with logic specifications
LIX - Laboratoire d'informatique de l'École polytechnique [Palaiseau], Inria Saclay - Ile de France
Résumé : Les programmes générés aléatoirement sont un bon moyen de tester des compilateurs et des outils d'analyse de logiciel. Des centaines de bogues ont été trouvés dans des com-pilateurs C très utilisés (GCC, Clang) par des tests aléatoires. Pourtant, les générateurs existants peuvent générer beaucoup de code mort (dont les résultats ne sont jamais uti-lisés). Compiler un tel programme laisse relativement peu de possibilités d'exercer les optimisations complexes du compilateur. Pour résoudre ce problème, nous proposons la génération aléatoire de programmes guidée par la vivacité. Dans cette approche, le programme aléatoire est construit bottom-up, en combinaison avec une analyse de ot de données structurelle pour assurer que le système ne génère jamais de code mort. L'algorithme est implémenté dans un greon pour l'outil Frama-C. Nous l'évaluons en comparaison avec Csmith, le générateur aléatoire standard pour le langage C. Les programmes générés par notre outil compilent vers une plus grande quantité de code machine, avec une plus grande variété d'instructions. Ce papier est une version courte d'un article présenté à LOPSTR 2017.
Complete list of metadatas

Cited literature [4 references]  Display  Hide  Download

https://hal.inria.fr/hal-01682691
Contributor : Gergö Barany <>
Submitted on : Friday, January 12, 2018 - 2:07:16 PM
Last modification on : Thursday, March 5, 2020 - 6:35:54 PM
Document(s) archivé(s) le : Tuesday, May 8, 2018 - 3:17:02 AM

File

jfla2018.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01682691, version 1

Citation

Gergö Barany, Gabriel Scherer. Génération aléatoire de programmes guidée par la vivacité. JFLA 2018 - Journées Francophones des Langages Applicatifs, Jan 2018, Banyuls-sur-Mer, France. ⟨hal-01682691⟩

Share

Metrics

Record views

252

Files downloads

74