IRILL - Research and Innovation on Free Software
IRILL, Paris

Analyse d'API pour le guidage du test automatique

Le test aléatoire est une technique de test de logiciel où les programmes sont testés en générant des entrées aléatoires et indépendantes. Les résultats de la sortie sont comparés aux spécifications du logiciel pour vérifier que le test réussi ou échoue. Le framework de test Testify [1] permet de générer automatiquement des tests aléatoires pour les programmes OCaml. Une des limitations actuelles de Testify est que toutes les fonctions d'un programme sont testées avec le même nombre, fixé à l'avance, d'entrées. Cependant, il peut être intéressant de plus tester certaines fonctions, plus propices à présenter des bugs. Dance cette optique, il peut être intéressant de collecter des informations pertinentes sur les fonctions d'une API, telle que la taille du code, quelles sont les constantes qui y apparaissent, le code a t-il été modifié récemment? Quelles sont les fonctions auxquelles il fait appel, ces fonctions ont-elles été modifiées récemment, etc. Le but du stage est d'implémenter un outil capable de collecter de telles informations pour les programmes OCaml. L'outil aura pour but final de guider la génération automatique de Testify en déterminant le nombre de tests aléatoires à générer pour chaque fonction.

Le stagiaire devra être d'accord pour que ses contributions soient distribuées sous licence libre.

[1]: Ziat, Ghiles ; Dien, Matthieu ; Botbol, Vincent Automated Random Testing of Numerical Constrained Types https://drops.dagstuhl.de/opus/volltexte/2021/15350/

Contacts : Vincent Botbol & Ghiles Ziat