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
Inria Saclay - Ile de France, LIX - Laboratoire d'informatique de l'École polytechnique [Palaiseau]
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 : Wednesday, March 27, 2019 - 4:41:29 PM
Long-term archiving on : 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

228

Files downloads

47