2 research outputs found

    Contribution à la spécification et à la vérification des logiciels à base de composants : enrichissement du langage de données de Kmelia et vérication de contrats

    Get PDF
    With Model Driven Engineering models are the heart of software development. Thesemodels evolve through transformations. In this thesis our interest was the validationfor these model transformations by testing, and more precisely the test oracles. Wepropose two approaches to assist the tester to create these oracles. With the first ap-proach this assistance is passive; we provide the tester with a new oracle function.The test oracles created with this new oracle function control only part of the modelproduced by the transformation under test. We defined the notion of partial verdict,described the situations where having a partial verdict is beneficial for the tester andhow to test a transformation in this context. We developed a tool implementing thisproposal, and ran experiments with it. With the second approach, we provide a moreactive assistance about test oracles’ quality. We study the quality of a set of modeltransformation test oracles. We consider that the quality of a set of oracles is linkedto its ability to detect faults in the transformation under test. We show the limits ofmutation analysis which is used for this purpose, then we propose a new approach thatcorrects part of these drawbacks. We measure the coverage of the output meta-modelby the set of oracles we consider. Our approach does not depend on the language usedfor the transformation under test’s implementation. It also provides the tester withhints on how to improve her oracles. We defined a process to evaluate meta-modelcoverage and qualify test oracles. We developed a tool implementing our approach tovalidate it through experimentations.L'utilisation croissante des composants et des services logiciels dans les différents secteursd'activité (télécommunications, transports, énergie, finance, santé, etc.) exige desmoyens (modèles, méthodes, outils, etc.) rigoureux afin de maîtriser leur production etd'évaluer leur qualité. En particulier, il est crucial de pouvoir garantir leur bon fonctionnementen amont de leur déploiement lors du développement modulaire de systèmes logiciels.Kmelia est un modèle à composants multi-services développé dans le but de construiredes composants logiciels et des assemblages prouvés corrects. Trois objectifs principauxsont visés dans cette thèse. Le premier consiste à enrichir le pouvoir d'expression du modèle Kmelia avec un langage de données afin de satisfaire le double besoin de spécificationet de vérification. Le deuxième vise l'élaboration d'un cadre de développement fondé sur lanotion de contrats multi-niveaux. L'intérêt de tels contrats est de maîtriser la constructionprogressive des systèmes à base de composants et d'automatiser le processus de leur véri-fication. Nous nous focalisons dans cette thèse sur la vérification des contrats fonctionnelsen utilisant la méthode B. Le troisième objectif est l'instrumentation de notre approchedans la plate-forme COSTO/Kmelia. Nous avons implanté un prototype permettant deconnecter COSTO aux différents outils associés à la méthode B. Ce prototype permet deconstruire les machines B à partir des spécifications Kmelia en fonction des propriétés à vé-rifier. Nous montrons que la preuve des spécifications B générées garantit la cohérence desspécifications Kmelia de départ. Les illustrations basées sur l'exemple CoCoME confortentnos propositions
    corecore