• Nenhum resultado encontrado

Comparaison des stratégies

No documento DOCTEUR DE L’UNIVERSITÉ DE GRENOBLE (páginas 97-100)

6.6 Étude empirique de l’influence de la méthode de génération de tests utilisée sur la pro-

6.6.2 Comparaison des stratégies

6.6.2.1 Production et traitement des résultats

Pour comparer ces méthodes, nous les avons appliquées toutes les quatre sur notre exemple. Pour chacune, nous avons réalisé une simulation de 1.5 million de pas de simulation avec 100 graines aléatoires différentes, pour un total de 600 millions de pas de simulation. Au cours de la simulation (d’une durée de 35 minutes au total sur notre machine à base de Core 2 Duo à 2GHz) nous avons exporté la progression de la couverture pour une centaine de dates régulièrement réparties au sein de la période de temps totale simulée.

Les courbes d’évolution de la couverture que nous présentons sont moyennées sur les 100 exécutions que nous avons réalisées pour chaque méthode. Il est à noter que la progression de la couverture varie peu d’une graine à l’autre ; nous avons choisi pour chaque méthode le pas de simulationp0 pour lequel les simulations correspondant aux différentes graines avaient atteint en moyenne 50% de couverture et estimé la variance des valeurs de couverture atteintes àp0. Cette variance est estimée à9.93∗10−5pour la méthodeM1, 5.66∗10−5 pour la méthode M2, 4.37∗10−5 pour la méthode M3 et7.04∗10−5 pour la méthodeM4(la couverture prend ses valeurs entre0et1). Toutes les courbes obtenues pour une même méthode sont donc fortement semblables, ce qui valide empiriquement notre choix de 100 graines aléatoires pour la comparaison.

6.6.2.2 Présentation des résultats et discussion

La figure6.9Présente les résultats que nous avons obtenus pour toutes les méthodes. On constate que les méthodes 1 et 2 permettent une progression nettement moins rapide que les autres. Ceci s’explique essentiellement par la façon dont les délais accordés aux contrats sont choisis. En effet, les délais de changement de consigne imposés sont longs, ce qui implique que moins de contrats sont traités par unité de temps. Par ailleurs les contrats peuvent être interrompus en cours d’exécution, remplacés par de nouveaux contrats plus récents. Étant donné que le profil ne progresse que lorsque la propriété est dans un état qui correspond à une fin de contrat mené à terme, il est donc logique que la progression de la couverture soit ralentie par cette caractéristique des méthodes 1 et 2.

Entre les méthodes 1 et 2, on remarque que la méthode 2 progresse plus vite sur le long terme que la méthode 1. Ceci s’explique par la plus grande amplitude des états qu’elle visite : en effet, une marche aléatoire telle que celle qui est mise en oeuvre par la méthode 1 est susceptible de rester dans un voi- sinage local qui évolue peu. C’est la raison qui a poussé dans le domaine de la robotique à développer des algorithmes d’exploration de l’espace différents, visant à maximiser l’étendue des états visités. L’al- gorithme RRT dont nous parlions dans les chapitres précédents en est un parfait exemple. L’algorithme 1 est ici pénalisé car le fait de visiter une deuxième fois le même état (ou deux états très proches) de la propriété lors du test ne fait pas progresser l’estimation de la couverture.

La méthode M3 a été conçue pour exploiter les objectifs non encore couverts du profil pour guider la génération. L’algorithme commence par échantillonner un état qui n’a pas encore été couvert (en favori- sant les zones les plus importantes du profil), et tente de l’atteindre en générant une séquence de contrats courts qui mènent la propriété à celui-ci. La raison pour laquelle nous avons essayé cette stratégie est basée sur l’intuition que, lorsque la couverture a beaucoup progressé et couvert les objectifs les plus “fa-

FIG. 6.9 – Évolution de la couverture en fonction du nombre d’itérations pour les quatre méthodes de génération utilisées

ciles” du profil, ceux qui restent nécessitent une stratégie ciblée pour être atteints. Une génération aurait peu de chance de produire une séquence de commande propre à couvrir les états restants rapidement, en particulier si ceux-ci sont “profonds” (c-à-d. nécessitent des conditions environnementales ou une sé- quence de commande complexe pour être exercés). Nous présentons en figure6.10les résultats obtenus par les seules méthodes M3 et M4.

Contrairement à l’intuition initiale, on constate que la méthode M4 se comporte plus efficacement que la méthode M3, et ce tout au long de l’exécution. Nous expliquons ce résultat par deux raisons :

– Le profil ne contient aucun état “profond”, ou qui sont plus difficiles à atteindre pour M4 que pour M3 ; par ailleurs, la stratégie d’exploration systématique de M4 consistant à balayer le domaine d’une variable dans les deux sens s’adapte bien au profil et au système considérés. L’intérêt de l’échantillonnage effectué par M3 est donc réduit.

– En échantillonnant aléatoirement ses objectifs parmi ceux qui ne sont pas encore remplis, M3 acquiert des caractéristiques de localité semblables à celles d’une marche aléatoire, dans la mesure où la stratégie peut revisiter une zone de l’espace déjà couverte pour atteindre un objectif non couvert.

Nous en concluons que dans le cas de propriété suffisamment simples portant sur des systèmes contrôlables, il est préférable de maximiser l’étendue des états visités plutôt que de cibler les états non encore visités pour optimiser la vitesse de progression de la couverture.

6.6.2.3 Caractéristiques souhaitables pour les méthodes de génération

En conclusion, c’est la méthode 4 de génération de tests qui produit les meilleurs résultats en termes de couverture du profil, car elle bénéficie de plusieurs avantages sur les autres :

– Elle exploite les caractéristiques du profil pour produire des tests qui le satisferont plus rapidement

FIG. 6.10 – Évolution de la couverture en fonction du nombre d’itérations pour M3 et M4 (dans notre exemple, en produisant des contrats courts, réalisables et qui ne se chevauchent pas) – Elle visite des états répartis sur tout le domaine des variables traitées par le profil.

D’autres caractéristiques des méthodes de génération de test pour les propriétés hybrides qui ne sont pas essentielles ici, mais qui semblent constituer des pistes d’étude ultérieure intéressantes sont :

– L’utilisation du profil pour échantillonner des buts à atteindre, notamment lorsque certains corres- pondent à des états “profonds”.

– L’exploitation des connaissances disponibles sur la sémantique de la propriété et le fonctionnement du système sous test pour guider la génération vers ces états profonds.

6.6.2.4 Conclusion sur l’étude de cas

Ces résultats en tant que tels ne présentent pas d’intérêt majeur car les méhodes de génération em- ployées sont rudimentaires ; nous avons mentionné au chapitre 3 l’existence de méthodes plus élaborées dont l’efficacité est solidement établie, une étude complète se devrait de les intégrer à la comparaison.

En revanche, nous avons démontré l’applicabilité de notre approche de bout en bout, supportée par le prototype d’outil que nous avons développé, et montré qu’elle conduisait à la production de données pertinentes pour la comparaison de stratégies de génération de test, vis-à-vis d’objectifs et de priorités de validation prédéfinis.

Chapitre 7

Conclusion et perspectives

Dans ce dernier chapitre, nous résumons les contributions et conclusions que nous retirons du travail présenté dans ce manuscrit. Nous replaçons ensuite ce travail dans un contexte plus général et identifions plusieurs perspectives qui en constituent des extension possibles.

7.1 Bilan général

No documento DOCTEUR DE L’UNIVERSITÉ DE GRENOBLE (páginas 97-100)