Modélisation Extrême chez MongoDB : Vérification de Conformité en Pratique
Les ingénieurs de MongoDB ont expérimenté les spécifications TLA+ et deux techniques de vérification de conformité (vérification des traces et génération de cas de test) pour vérifier si les implémentations de leurs produits sont conformes aux spécifications. L’expérience de vérification des traces, menée sur le serveur MongoDB, visait à valider l’implémentation du protocole de consensus Raft ; l’expérience de génération de cas de test, sur le SDK mobile MongoDB, visait à valider l’algorithme de transformation opérationnelle. Les résultats ont montré que la vérification des traces a échoué en raison de la difficulté de capturer des instantanés de l’état d’un programme multithreadé et des divergences entre la spécification et l’implémentation, tandis que la génération de cas de test a permis de découvrir avec succès un bogue dans l’algorithme et d’atteindre une couverture de 100 % des branches. L’article résume les enseignements tirés et présente les progrès récents dans le domaine, soulignant l’importance d’une vérification continue de la conformité pour l’adoption généralisée de TLA+.
Lire plus