Apport d'un prototype spécifié en Z dans le redéveloppement d'un outil de test
Résumé
Les progrès des animateurs de spécification, tels que Jaza pour le langage Z, permettent désormais d'utiliser des spécifications formelles comme prototype exécutable pour un système à développer. La construction d'une spécification pendant le redéveloppement complet d'une nouvelle version d'un logiciel a de nombreux avantages. Tout d'abord, elle permet d'identifier les concepts abstraits qui sous-tendent le système à reconstruire. Ensuite, le prototype peut être comparé au système existant pour évaluer la non-régression de la spécification. Enfin, son exécution peut être utilisée par l'équipe de développement pour comprendre la spécification, puis plus tard il peut être utilisé comme oracle pour les tests de la nouvelle version. Cet article décrit l'application de cette approche lors du redéveloppement de l'outil Tobias. Il présente succinctement les principes de l'outil original, la spécification Z, comment le prototype a été utilisé pour assurer la non-régression et comment cette démarche a permis de simplifier les concepts de l'outil Tobias et d'explorer de nouvelles fonctionnalités.