THÈse présentée








télécharger 0.65 Mb.
titreTHÈse présentée
page1/28
date de publication09.06.2018
taille0.65 Mb.
typeThèse
ar.21-bal.com > droit > Thèse
  1   2   3   4   5   6   7   8   9   ...   28


N° d’ordre 2846

THÈSE

présentée

DEVANT L’UNIVERSITÉ DE RENNES 1

pour obtenir

le grade de : Docteur de l’Université de Rennes 1

Mention : Informatique

par

Benoit Baudry

Équipe d’accueil : IRISA/TRISKELL

École doctorale : Matisse

Composante universitaire : IFSIC

Titre de la thèse :

Assemblage testable et validation de composants

Soutenue le 24 juin 2003 devant la commission d’Examen

COMPOSITION DU JURY :

M. : Daniel Herman Président

MM. : Stéphane Ducasse Rapporteurs

Bruno Legeard

Bertrand Meyer

MM. : Jean-Marc Jézéquel Examinateurs

Yves Le Traon
Remerciements

Je tiens tout d’abord à remercier Yves Le Traon d’avoir encadré cette thèse, et de m’avoir permis d’appréhender l’aspect captivant du travail de recherche au long de ces trois années. Je remercie Jean-Marc Jézéquel de m’avoir aidé à prendre conscience que ce travail s’inscrit dans un contexte global.

Je remercie Daniel Herman qui m’a fait l’honneur de présider le jury, ainsi que Bruno Legeard, Bertrand Meyer et Stéphane Ducasse qui ont accepté d’évaluer ce travail, et dont les remarques furent grandement appréciées.

Je remercie également Lionel Briand, Yvan Labiche, et Gerson Sunyé pour les échanges enrichissants que nous avons eus au cours de ces travaux.

Je souhaiterais aussi remercier tous ceux qui font que l’IRISA est un endroit où j’ai particulièrement apprécié de travailler. Franck pour le débat, la dynamique de win, la relecture et surtout pour toutes les choses extrêmement utiles qu’il a réalisées. Clémentine parce qu’il est bene de travailler avec quelqu’un qui parle italien, Tewfik qui voit ce que je veux dire, Loïc pour avoir supporté les crises de guerre des étoiles et tout le monde dans l’équipe Triskell. Merci aussi à Christelle, Marie-Noëlle, Nadège, Angélique, et aux filles de la cafet.

Je remercie Yannic Le Flem d’avoir dessiné l’affiche de thèse sans oublier le petit booléen vert pour Sandrine et Isabelle pour avoir su synthétiser cette thèse de façon remarquable.

Enfin, je remercie tous ceux qui m’ont permis de ne pas basculer du côté obscur de la thèse en faisant de la vie ce qu’elle ne doit jamais cesser d’être : passionnée. Je remercie tout d’abord Sandrine, pour la correspondance mythique qui a accompagné la rédaction de ce mémoire. Je remercie Céline, Corentin, Jérôme, Antoine, Anne-Gaëlle, Nolwenn, Johanne, François et Cécile d’avoir partagé ma vie au cours de ces trois années, parce que je crois à la cohérence de tout ça, et ce travail existe aussi grâce à eux. Je remercie Jean-Louis Sechet, Mathieu Saglio, Kerwin Roland, Nusch Werchowska, John Cage, John Coltrane, Cecil Taylor, Olivier Messiaen et Gÿorgi Ligeti dont la musique m’a toujours accompagné et aidé à avancer.

Je remercie mon grand-père Lou et mes parents, pour m’avoir soutenu tout au long de cette thèse, et pour avoir insufflé la vie aux cas de test.



Extrait du Regard de l’Église d’amour, n°20 des Vingt Regards sur l’Enfant Jésus. Olivier Messiaen, 1947.

1
Introduction 1


2
Etat de l’art 5


2.1 Le test de logiciel 6

2.1.1 Le test classique 6

2.1.2 le test de logiciels orientés objet 8

2.1.3 L’analyse de mutation 10

2.1.4 Conclusion 12

2.2 Éléments de la notation UML pour le test de logiciels OO 12

2.2.1 Diagramme de classes 13

2.2.2 Vues dynamiques : diagrammes de séquence et d’états 15

2.3 Méthodologie pour une conception testable 16

2.3.1 La conception par contrat 17

2.3.2 Les contrats et UML : le langage OCL 18

2.3.3 Les composants autotestables 19

2.3.4 Conclusion 21

2.4 La génération automatique de cas de test 21

2.4.1 Techniques fonctionnelles 22

2.4.2 Techniques structurelles 22

2.5 Conception par contrat et test 24

2.6 Testabilité et mesures pour les logiciels OO 27

2.7 Conclusion 29

3
Génération automatique de cas de test pour un composant 30


3.1 Adaptation de l’analyse de mutation pour la qualification de composants 31

3.1.1 Le processus global 32

3.1.2 L’oracle pour l’analyse de mutation 33

3.1.3 Mutants équivalents 35

3.1.4 Opérateurs de mutation utilisés pour la qualification des composants 36

3.1.5 Outils 37

3.1.6 Analyse de mutation pour une classe ou un système 38

3.1.7 Optimisation automatique et analyse de mutation 40

3.2 Algorithme génétique pour l’optimisation de cas de test 41

3.2.1 Les algorithmes génétiques 41

3.2.2 Texte de l’algorithme 43

3.2.3 Le problème de l’optimisation de cas de test 45

3.3 Etudes de cas pour un algorithme génétique 50

3.3.1 Optimisation de cas de test unitaires : un exemple en Eiffel 50

3.3.2 Optimisation de cas de test système : l’exemple d’un composant .NET 52

3.3.3 Résultats et remise en cause du modèle génétique 53

3.4 Une approche adaptative : un  « algorithme bactériologique » 56

3.4.1 Le modèle bactériologique 56

3.4.2 De nouveaux résultats 60

3.4.3 Discussion et validation du modèle bactériologique 61

3.5 Paramétrage des modèles 63

3.5.1 Paramétrage du modèle bactériologique 63

3.5.2 Recherche d’un algorithme intermédiaire 65

3.6 Conclusion 67

4
Robustesse et diagnosabilité : impact de la conception par contrat sur un assemblage de composants 69


4.1 Conception par contrat et élaboration d’une mesure 70

4.1.1 Les contrats pour la robustesse et la diagnosabilité 70

4.1.2 Elaboration d’une mesure 71

4.2 Mesure de la robustesse 72

4.2.1 Définitions 72

4.2.2 Axiomatisation 74

4.2.3 Hypothèses et modèle mathématique 76

4.2.4 Démonstration des axiomes 77

4.2.5 Expériences pour paramétrer le modèle 81

4.2.6 Application de la mesure sur trois systèmes réels et résultats 87

4.2.7 Critique du modèle de mesure 89

4.3 Une mesure de la diagnosabilité 91

4.3.1 Analyse du problème 91

4.3.2 Définitions 93

4.3.3 La mesure de diagnosabilité 94

4.3.4 Résultats et conclusions 99

4.4 Conclusion 100

5
Anti-patterns de testabilité dans un assemblage de composants 101


5.1 Présentation de la problématique 101

5.2 Testabilité d’une architecture OO: définitions et méthodologie 104

5.2.1 Testabilité 104

5.2.2 Une méthodologie pour la conception de systèmes testables 105

5.2.3 Exemple 106

5.3 Critère de test et anti-patterns pour les architectures OO 107

5.3.1 Analyse informelle des anti-patterns de testabilité 107

5.3.2 Complexité de l'héritage 109

5.3.3 Critère de test pour des systèmes OO 110

5.3.4 Exemple pour la génération de test 113

Modélisation des anti-patterns 116

5.3.5 Construction d’un graphe à partir d'un diagramme de classes d'UML 116

5.3.6 Détecter des anti-patterns à partir du GDC 118

5.3.7 Complexité des anti-patterns 119

5.3.8 Mesure de la complexité des anti-patterns : système de gestion de livres 121

5.4 Amélioration de la testabilité du modèle 122

5.5 Exemples d'application 124

5.5.1 Le gestionnaire de livres 124

5.5.2 Serveur De Réunion Virtuelle 125

5.5.3 Une architecture de compilateur 127

5.6 Design Patterns pour la testabilité du modèle 129

5.6.1 Concevoir par cristallisation de patterns 129

5.6.2 Application du design pattern State pour améliorer la testabilité 131

5.7 Analyse de testabilité des design patterns 134

5.7.1 Analyse de testabilité de State 134

5.7.2 Analyse de testabilité d'Abstract Factory 135

5.7.3 Définir des contraintes de testabilité au niveau méta 136

5.7.4 La grille de testabilité des design patterns 138

5.8 Conclusion 140

6
Conclusions et perspectives 141


6.1 Contributions majeures 141

6.1.1 Validation de composants 141

6.1.2 Testabilité d’un assemblage de composants 143

6.2 Perspectives 143

6.2.1 La génération de test pour le diagnostic 143

6.2.2 Les contrats comme oracle de test 144

6.2.3 Transformation de modèles pour la testabilité 144

6.2.4 Design patterns et test 144

Annexes 145

Annexe A Répartition des contrats dans un système OO 147

Annexe B Interactions d’objets pour le gestionnaire de livres 151

AU1 151

AU2 152

IC(BookEvent, Book) 153

Glossaire 155

Bibliographie 159


  1   2   3   4   5   6   7   8   9   ...   28

similaire:

THÈse présentée iconThèse Présentée à la Faculté de Pharmacie de Montpellier

THÈse présentée iconThèse présentée pour l’obtention du grade de Docteur

THÈse présentée iconThèse soutenue publiquement par Sang-Ha suh le 10 Juillet 2006
«avec projection», de cette thèse aux membres du Conseil scientifique et à leurs expliquer pourquoi cette thèse ne devait pas être...

THÈse présentée iconThèse soutenue publiquement par Sang-Ha S. le 10 Juillet 2006 Le...
«avec projection», de cette thèse aux membres du Conseil scientifique et à leurs expliquer pourquoi cette thèse ne méritait pas d’être...

THÈse présentée iconQuestionnaire sur les Cathédrales Quelle est le nom de la cathédrale...

THÈse présentée iconCommuniqué de presse
«L’homme et la matièRE» de Don Darby que l’année prenait son envol. L’exposition est présentée à la Salle Principale du cne jusqu’au...

THÈse présentée iconCatégorie de Grand Prix présentée (cocher la case correspondante)
«Les Grands Prix simi immobilier de Bureaux» du 17 juin au Vendredi 7 octobre 2016

THÈse présentée iconThèse

THÈse présentée iconCommuniqué de presse
«Komuna Fundamento» présentée lors de la xiiie exposition internationale d’architecture «Common Ground» qui se déroule dans le cadre...

THÈse présentée iconAutomne 2013 plan de cours
«Unified», combinée à l'apprentissage du langage uml, est présentée et mise en pratique dans un projet de conception et d'implantation...








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com