Test de logiciels de systèmes autonomes

Les missions d’un robot autonome sont typiquement testées par des expérimentations sur le terrain. Cette approche est très coûteuse et peut présenter des risques. Afin d’explorer plus de situations opérationnelles à moindre coût et sans encourir de risque, nos travaux développent des tests en simulation : le robot accomplit ses missions dans des mondes virtuels. Les recherches ont été menées en collaboration avec l’équipe RIS du département robotique. Elles ont été étayées par deux études de cas de navigation autonome en extérieur : la navigation de Mana, un robot expérimental tout-terrain développé au LAAS, et celle de Oz, un robot agricole bineur développé par la société Naïo Technologies.

Le test dans des mondes virtuels nécessite de revisiter les problématiques de génération d’entrées et d’analyse des sorties. Dans ces travaux, la génération de tests s’appuie sur un modèle de mondes qui comprend une vue structurelle UML des éléments du monde, et une grammaire formelle définissant les paramètres de génération de ces éléments. On met en œuvre des procédés aléatoires à deux niveaux : d’abord pour produire des configurations de paramètres valides, c’est-à-dire conformes à la grammaire, puis pour créer des scènes de test dans un format compréhensible par le simulateur. L’analyse des traces de test s’effectue selon une approche quantitative ou qualitative. Dans le premier cas, on évalue la mise en difficulté du robot par le pourcentage d’échecs de mission, le temps pris pour accomplir la mission, ou les détours de trajectoire Dans le deuxième cas, on s’intéresse à la détection de comportements anormaux tels que des collisions, le franchissement d’un seuil de vitesse, des erreurs de perception, ou encore des comportements spécifiques à la phase de mission en cours. Une question importante concerne l’efficacité du test, dans un environnement qui simplifie la physique du monde réel. Nous avons étudié cette question pour un échantillon de fautes extraites de l’historique de développement de Mana. La plupart de ces fautes ne nécessitent pas une reproduction fine des aspects physiques et sont trouvables par des tests en simulation basse fidélité. L’efficacité du test en simulation été confirmée pour Oz, par une expérimentation menant en parallèle des tests en simulation et sur le terrain. Malgré les simplifications induites par la simulation, nos tests offraient une bonne correspondance avec la plupart des défaillances observées sur le terrain, et ont même mis en évidence un cas non connu mais confirmé par l’industriel.

 

[1] Sotiropoulos T., Waeselynck H., Guiochet J., Ingrand F., “Can robot navigation bugs be found in simulation? An exploratory study”, IEEE International Conference on Software Quality, Reliability & Security (QRS 2017), Prague, République Tchèque, 2017.