signatr: A Data-Driven Fuzzing Tool for R - Archive ouverte HAL
Communication Dans Un Congrès Année : 2022

signatr: A Data-Driven Fuzzing Tool for R

Résumé

The fast-and-loose, permissive semantics of dynamic programming languages limit the power of static analyses. For that reason, soundness is often traded for precision through dynamic program analysis. Dynamic analysis is only as good as the available runnable code, and relying solely on test suites is fraught as they do not cover the full gamut of possible behaviors. Fuzzing is an approach for automatically exercising code, and could be used to obtain more runnable code. However, the shape of user-defined data in dynamic languages is difficult to intuit, limiting a fuzzer's reach. We propose a feedback-driven blackbox fuzzing approach which draws inputs from a database of values recorded from existing code. We implement this approach in a tool called signatr for the R language. We present the insights of its design and implementation, and assess signatr's ability to uncover new behaviors by fuzzing 4,829 R functions from 100 R packages, revealing 1,195,184 new signatures.
Fichier principal
Vignette du fichier
main.pdf (602.52 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03883268 , version 1 (03-12-2022)

Identifiants

Citer

Alexi Turcotte, Pierre Donat-Bouillud, Filip Křikava, Jan Vitek. signatr: A Data-Driven Fuzzing Tool for R. SLE '22: 15th ACM SIGPLAN International Conference on Software Language Engineering, Dec 2022, Auckland, New Zealand. pp.216-221, ⟨10.1145/3567512.3567530⟩. ⟨hal-03883268⟩
45 Consultations
95 Téléchargements

Altmetric

Partager

More