Résumé
La création de logiciels fonctionnant de la manière attendue par l'utilisateur est un problème central de l'informatique. Lorsqu'un système a été implémenté, il doit être évalué afin de vérifier s'il satisfait complètement et précisément aux attentes initiales. La stratégie la plus répandue pour effectuer cette évaluation est sans aucun doute le test. La difficulté du test de logiciels est due au fait que la construction des ensembles de données de test doit être réalisée d'une façon telle que ces derniers permettent aux testeurs de découvrir un maximum d'erreurs présentes dans un programme. À cette fin, les informaticiens ont défini différents critères d'adéquation que doivent satisfaire ces ensembles de données afin de suffisamment accroître la confiance des testeurs en l'exactitude d'un programme passant ces tests avec succès. De ce fait, la construction d'ensemble de données de test efficaces peut être extrêmement consommatrice en temps lorsqu'elle est effectuée manuellement ; de plus, les ensembles de données qui en résultent sont généralement très longs et complexes, à tel point qu'ils peuvent eux-mêmes contenir des erreurs. Il existe dès lors un fort intérêt dans l'automatisation de cette procédure.Dans cet thèse, nous présentons une plate-forme de test pour le langage de programmation logique Mercury capable de générer des données de test satisfaisant un ensemble de critères d'adéquation et de les exécuter. Notre technique basée sur l'exécution symbolique et les contraintes est capable de traiter des types de données complexes (éventuellement définis par l'utilisateur). Nous définissons ensuite une adaptation de notre méthode afin de générer des suites de test satisfaisant des ensembles de critères d'adéquation dans le contexte de langages de programmation impératifs utilisant des structures de données basées sur les pointeurs.
la date de réponse | 26 mars 2013 |
---|---|
langue originale | Anglais |
L'institution diplômante |
|
Superviseur | Wim Vanhoof (Promoteur), Naji Habra (Président), Vincent Englebert (Jury), Baudouin LE CHARLIER (Jury), Puri Arenas (Jury) & Tom Schrijvers (Jury) |
mots-clés
- Analyse de programmes
- Génération automatique de données de test
- Programmation logique