12 resultados para Software engineering

em Universit


Relevância:

70.00% 70.00%

Publicador:

Resumo:

Les socits modernes dpendent de plus en plus sur les systmes informatiques et ainsi, il y a de plus en plus de pression sur les quipes de dveloppement pour produire des logiciels de bonne qualit. Plusieurs compagnies utilisent des modles de qualit, des suites de programmes qui analysent et valuent la qualit d'autres programmes, mais la construction de modles de qualit est difficile parce qu'il existe plusieurs questions qui n'ont pas t rpondues dans la littrature. Nous avons tudi les pratiques de modlisation de la qualit auprs d'une grande entreprise et avons identifi les trois dimensions o une recherche additionnelle est dsirable : Le support de la subjectivit de la qualit, les techniques pour faire le suivi de la qualit lors de l'volution des logiciels, et la composition de la qualit entre diffrents niveaux d'abstraction. Concernant la subjectivit, nous avons propos l'utilisation de modles baysiens parce qu'ils sont capables de traiter des donnes ambigus. Nous avons appliqu nos modles au problme de la dtection des dfauts de conception. Dans une tude de deux logiciels libres, nous avons trouv que notre approche est suprieure aux techniques dcrites dans l'tat de l'art, qui sont bases sur des rgles. Pour supporter l'volution des logiciels, nous avons considr que les scores produits par un modle de qualit sont des signaux qui peuvent tre analyss en utilisant des techniques d'exploration de donnes pour identifier des patrons d'volution de la qualit. Nous avons tudi comment les dfauts de conception apparaissent et disparaissent des logiciels. Un logiciel est typiquement conu comme une hirarchie de composants, mais les modles de qualit ne tiennent pas compte de cette organisation. Dans la dernire partie de la dissertation, nous prsentons un modle de qualit deux niveaux. Ces modles ont trois parties: un modle au niveau du composant, un modle qui value l'importance de chacun des composants, et un autre qui value la qualit d'un compos en combinant la qualit de ses composants. L'approche a t teste sur la prdiction de classes fort changement partir de la qualit des mthodes. Nous avons trouv que nos modles deux niveaux permettent une meilleure identification des classes fort changement. Pour terminer, nous avons appliqu nos modles deux niveaux pour l'valuation de la navigabilit des sites web partir de la qualit des pages. Nos modles taient capables de distinguer entre des sites de trs bonne qualit et des sites choisis alatoirement. Au cours de la dissertation, nous prsentons non seulement des problmes thoriques et leurs solutions, mais nous avons galement men des expriences pour dmontrer les avantages et les limitations de nos solutions. Nos rsultats indiquent qu'on peut esprer amliorer l'tat de l'art dans les trois dimensions prsentes. En particulier, notre travail sur la composition de la qualit et la modlisation de l'importance est le premier cibler ce problme. Nous croyons que nos modles deux niveaux sont un point de dpart intressant pour des travaux de recherche plus approfondis.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Cette thse a pour but damliorer lautomatisation dans lingnierie dirige par les modles (MDE pour Model Driven Engineering). MDE est un paradigme qui promet de rduire la complexit du logiciel par lutilisation intensive de modles et des transformations automatiques entre modles (TM). Dune faon simplifie, dans la vision du MDE, les spcialistes utilisent plusieurs modles pour reprsenter un logiciel, et ils produisent le code source en transformant automatiquement ces modles. Consquemment, lautomatisation est un facteur cl et un principe fondateur de MDE. En plus des TM, dautres activits ont besoin dautomatisation, e.g. la dfinition des langages de modlisation et la migration de logiciels. Dans ce contexte, la contribution principale de cette thse est de proposer une approche gnrale pour amliorer lautomatisation du MDE. Notre approche est base sur la recherche mta-heuristique guide par les exemples. Nous appliquons cette approche sur deux problmes importants de MDE, (1) la transformation des modles et (2) la dfinition prcise de langages de modlisation. Pour le premier problme, nous distinguons entre la transformation dans le contexte de la migration et les transformations gnrales entre modles. Dans le cas de la migration, nous proposons une mthode de regroupement logiciel (Software Clustering) base sur une mta-heuristique guide par des exemples de regroupement. De la mme faon, pour les transformations gnrales, nous apprenons des transformations entre modles en utilisant un algorithme de programmation gntique qui sinspire des exemples des transformations passes. Pour la dfinition prcise de langages de modlisation, nous proposons une mthode base sur une recherche mta-heuristique, qui drive des rgles de bonne formation pour les mta-modles, avec lobjectif de bien discriminer entre modles valides et invalides. Les tudes empiriques que nous avons menes, montrent que les approches proposes obtiennent des bons rsultats tant quantitatifs que qualitatifs. Ceux-ci nous permettent de conclure que lamlioration de lautomatisation du MDE en utilisant des mthodes de recherche mta-heuristique et des exemples peut contribuer ladoption plus large de MDE dans lindustrie l venir.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Les systmes logiciels sont devenus de plus en plus rpondus et importants dans notre socit. Ainsi, il y a un besoin constant de logiciels de haute qualit. Pour amliorer la qualit de logiciels, lune des techniques les plus utilises est le refactoring qui sert amliorer la structure d'un programme tout en prservant son comportement externe. Le refactoring promet, s'il est appliqu convenablement, amliorer la comprhensibilit, la maintenabilit et l'extensibilit du logiciel tout en amliorant la productivit des programmeurs. En gnral, le refactoring pourra sappliquer au niveau de spcification, conception ou code. Cette thse porte sur l'automatisation de processus de recommandation de refactoring, au niveau code, sappliquant en deux tapes principales: 1) la dtection des fragments de code qui devraient tre amliors (e.g., les dfauts de conception), et 2) l'identification des solutions de refactoring appliquer. Pour la premire tape, nous traduisons des rgularits qui peuvent tre trouvs dans des exemples de dfauts de conception. Nous utilisons un algorithme gntique pour gnrer automatiquement des rgles de dtection partir des exemples de dfauts. Pour la deuxime tape, nous introduisons une approche se basant sur une recherche heuristique. Le processus consiste trouver la squence optimale d'oprations de refactoring permettant d'amliorer la qualit du logiciel en minimisant le nombre de dfauts tout en priorisant les instances les plus critiques. De plus, nous explorons d'autres objectifs optimiser: le nombre de changements requis pour appliquer la solution de refactoring, la prservation de la smantique, et la consistance avec lhistorique de changements. Ainsi, rduire le nombre de changements permets de garder autant que possible avec la conception initiale. La prservation de la smantique assure que le programme restructur est smantiquement cohrent. De plus, nous utilisons l'historique de changement pour suggrer de nouveaux refactorings dans des contextes similaires. En outre, nous introduisons une approche multi-objective pour amliorer les attributs de qualit du logiciel (la flexibilit, la maintenabilit, etc.), fixer les mauvaises pratiques de conception (dfauts de conception), tout en introduisant les bonnes pratiques de conception (patrons de conception).

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La recherche en gnie logiciel a depuis longtemps tent de mieux comprendre le processus de dveloppement logiciel, minimalement, pour en reproduire les bonnes pratiques, et idalement, pour pouvoir le mcaniser. On peut identifier deux approches majeures pour caractriser le processus. La premire approche, dite transformationnelle, peroit le processus comme une squence de transformations prservant certaines proprits des donnes lentre. Cette ide a t rcemment reprise par larchitecture dirige par les modles de lOMG. La deuxime approche consiste rpertorier et codifier des solutions prouves des problmes rcurrents. Les recherches sur les styles architecturaux, les patrons de conception, ou les cadres dapplications sinscrivent dans cette approche. Notre travail de recherche reconnat la complmentarit des deux approches, notamment pour ltape de conception: dans le cadre du dveloppement dirig par les modles, nous percevons ltape de conception comme lapplication de patrons de solutions aux modles reus en entre. Il est coutume de dfinir ltape de conception en termes de conception architecturale, et conception dtaille. La conception architecturale se proccupe dorganiser un logiciel en composants rpondant un ensemble dexigences non-fonctionnelles, alors que la conception dtaille se proccupe, en quelque sorte, du contenu de ces composants. La conception architecturale sappuie sur des styles architecturaux qui sont des principes dorganisation permettant doptimiser certaines qualits, alors que la conception dtaille sappuie sur des patrons de conception pour attribuer les responsabilits aux classes. Les styles architecturaux et les patrons de conception sont des artefacts qui codifient des solutions prouves des problmes rcurrents de conception. Alors que ces artefacts sont bien documents, la dcision de les appliquer reste essentiellement manuelle. De plus, les outils proposs noffrent pas un support adquat pour les appliquer des modles existants. Dans cette thse, nous nous attaquons la conception dtaille, et plus particulirement, la transformation de modles par application de patrons de conception, en partie parce que les patrons de conception sont moins complexes, et en partie parce que limplmentation des styles architecturaux passe souvent par les patrons de conception. Ainsi, nous proposons une approche pour reprsenter et appliquer les patrons de conception. Notre approche se base sur la reprsentation explicite des problmes rsolus par ces patrons. En effet, la reprsentation explicite du problme rsolu par un patron permet : (1) de mieux comprendre le patron, (2) de reconnatre lopportunit dappliquer le patron en dtectant une instance de la reprsentation du problme dans les modles du systme considr, et (3) dautomatiser lapplication du patron en la reprsentant, de faon dclarative, par une transformation dune instance du problme en une instance de la solution. Pour vrifier et valider notre approche, nous lavons utilise pour reprsenter et appliquer diffrents patrons de conception et nous avons effectu des tests pratiques sur des modles gnrs partir de logiciels libres.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Les systmes Matriels/Logiciels deviennent indispensables dans tous les aspects de la vie quotidienne. La prsence croissante de ces systmes dans les diffrents produits et services incite trouver des mthodes pour les dvelopper efficacement. Mais une conception efficace de ces systmes est limite par plusieurs facteurs, certains d'entre eux sont: la complexit croissante des applications, une augmentation de la densit d'intgration, la nature htrogne des produits et services, la diminution de temps daccs au march. Une modlisation transactionnelle (TLM) est considre comme un paradigme prometteur permettant de grer la complexit de conception et fournissant des moyens dexploration et de validation d'alternatives de conception des niveaux dabstraction levs. Cette recherche propose une mthodologie dexpression de temps dans TLM base sur une analyse de contraintes temporelles. Nous proposons d'utiliser une combinaison de deux paradigmes de dveloppement pour acclrer la conception: le TLM d'une part et une mthodologie dexpression de temps entre diffrentes transactions dautre part. Cette synergie nous permet de combiner dans un seul environnement des mthodes de simulation performantes et des mthodes analytiques formelles. Nous avons propos un nouvel algorithme de vrification temporelle bas sur la procdure de linarisation des contraintes de type min/max et une technique d'optimisation afin d'amliorer l'efficacit de l'algorithme. Nous avons complt la description mathmatique de tous les types de contraintes prsentes dans la littrature. Nous avons dvelopp des mthodes d'exploration et raffinement de systme de communication qui nous a permis d'utiliser les algorithmes de vrification temporelle diffrents niveaux TLM. Comme il existe plusieurs dfinitions du TLM, dans le cadre de notre recherche, nous avons dfini une mthodologie de spcification et simulation pour des systmes Matriel/Logiciel base sur le paradigme de TLM. Dans cette mthodologie plusieurs concepts de modlisation peuvent tre considrs sparment. Base sur l'utilisation des technologies modernes de gnie logiciel telles que XML, XSLT, XSD, la programmation oriente objet et plusieurs autres fournies par lenvironnement .Net, la mthodologie propose prsente une approche qui rend possible une rutilisation des modles intermdiaires afin de faire face la contrainte de temps daccs au march. Elle fournit une approche gnrale dans la modlisation du systme qui spare les diffrents aspects de conception tels que des modles de calculs utiliss pour dcrire le systme des niveaux dabstraction multiples. En consquence, dans le modle du systme nous pouvons clairement identifier la fonctionnalit du systme sans les dtails relis aux plateformes de dveloppement et ceci mnera amliorer la "portabilit" du modle d'application.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La transformation de modles consiste transformer un modle source en un modle cible conformment des mta-modles source et cible. Nous distinguons deux types de transformations. La premire est exogne o les mta-modles source et cible reprsentent des formalismes diffrents et o tous les lments du modle source sont transforms. Quand elle concerne un mme formalisme, la transformation est endogne. Ce type de transformation ncessite gnralement deux tapes : lidentification des lments du modle source transformer, puis la transformation de ces lments. Dans le cadre de cette thse, nous proposons trois principales contributions lies ces problmes de transformation. La premire contribution est lautomatisation des transformations des modles. Nous proposons de considrer le problme de transformation comme un problme d'optimisation combinatoire o un modle cible peut tre automatiquement gnr partir d'un nombre rduit d'exemples de transformations. Cette premire contribution peut tre applique aux transformations exognes ou endognes (aprs la dtection des lments transformer). La deuxime contribution est lie la transformation endogne o les lments transformer du modle source doivent tre dtects. Nous proposons une approche pour la dtection des dfauts de conception comme tape pralable au refactoring. Cette approche est inspire du principe de la dtection des virus par le systme immunitaire humain, appele slection ngative. Lide consiste utiliser de bonnes pratiques dimplmentation pour dtecter les parties du code risque. La troisime contribution vise tester un mcanisme de transformation en utilisant une fonction oracle pour dtecter les erreurs. Nous avons adapt le mcanisme de slection ngative qui consiste considrer comme une erreur toute dviation entre les traces de transformation valuer et une base dexemples contenant des traces de transformation de bonne qualit. La fonction oracle calcule cette dissimilarit et les erreurs sont ordonnes selon ce score. Les diffrentes contributions ont t values sur dimportants projets et les rsultats obtenus montrent leurs efficacits.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Un systme, dcrit avec un grand nombre d'lments fortement interdpendants, est complexe, difficile comprendre et maintenir. Ainsi, une application oriente objet est souvent complexe, car elle contient des centaines de classes avec de nombreuses dpendances plus ou moins explicites. Une mme application, utilisant le paradigme composant, contiendrait un plus petit nombre d'lments, faiblement coupls entre eux et avec des interdpendances clairement dfinies. Ceci est d au fait que le paradigme composant fournit une bonne reprsentation de haut niveau des systmes complexes. Ainsi, ce paradigme peut tre utilis comme "espace de projection" des systmes orients objets. Une telle projection peut faciliter l'tape de comprhension d'un systme, un pr-requis ncessaire avant toute activit de maintenance et/ou d'volution. De plus, il est possible d'utiliser cette reprsentation, comme un modle pour effectuer une restructuration complte d'une application oriente objets oprationnelle vers une application quivalente base de composants tout aussi oprationnelle. Ainsi, La nouvelle application bnficiant ainsi, de toutes les bonnes proprits associes au paradigme composants. L'objectif de ma thse est de proposer une mthode semi-automatique pour identifier une architecture base de composants dans une application oriente objets. Cette architecture doit, non seulement aider la comprhension de l'application originale, mais aussi simplifier la projection de cette dernire dans un modle concret de composant. L'identification d'une architecture base de composants est ralise en trois grandes tapes: i) obtention des donnes ncessaires au processus d'identification. Elles correspondent aux dpendances entre les classes et sont obtenues avec une analyse dynamique de l'application cible. ii) identification des composants. Trois mthodes ont t explores. La premire utilise un treillis de Galois, la seconde deux mta-heuristiques et la dernire une mta-heuristique multi-objective. iii) identification de l'architecture base de composants de l'application cible. Cela est fait en identifiant les interfaces requises et fournis pour chaque composant. Afin de valider ce processus d'identification, ainsi que les diffrents choix faits durant son dveloppement, j'ai ralis diffrentes tudes de cas. Enfin, je montre la faisabilit de la projection de l'architecture base de composants identifie vers un modle concret de composants.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Un objectif principal du gnie logiciel est de pouvoir produire des logiciels complexes, de grande taille et fiables en un temps raisonnable. La technologie oriente objet (OO) a fourni de bons concepts et des techniques de modlisation et de programmation qui ont permis de dvelopper des applications complexes tant dans le monde acadmique que dans le monde industriel. Cette exprience a cependant permis de dcouvrir les faiblesses du paradigme objet (par exemples, la dispersion de code et le problme de traabilit). La programmation oriente aspect (OA) apporte une solution simple aux limitations de la programmation OO, telle que le problme des proccupations transversales. Ces proccupations transversales se traduisent par la dispersion du mme code dans plusieurs modules du systme ou lemmlement de plusieurs morceaux de code dans un mme module. Cette nouvelle mthode de programmer permet dimplmenter chaque problmatique indpendamment des autres, puis de les assembler selon des rgles bien dfinies. La programmation OA promet donc une meilleure productivit, une meilleure rutilisation du code et une meilleure adaptation du code aux changements. Trs vite, cette nouvelle faon de faire sest vue stendre sur tout le processus de dveloppement de logiciel en ayant pour but de prserver la modularit et la traabilit, qui sont deux proprits importantes des logiciels de bonne qualit. Cependant, la technologie OA prsente de nombreux dfis. Le raisonnement, la spcification, et la vrification des programmes OA prsentent des difficults dautant plus que ces programmes voluent dans le temps. Par consquent, le raisonnement modulaire de ces programmes est requis sinon ils ncessiteraient dtre rexamins au complet chaque fois quun composant est chang ou ajout. Il est cependant bien connu dans la littrature que le raisonnement modulaire sur les programmes OA est difficile vu que les aspects appliqus changent souvent le comportement de leurs composantes de base [47]. Ces mmes difficults sont prsentes au niveau des phases de spcification et de vrification du processus de dveloppement des logiciels. Au meilleur de nos connaissances, la spcification modulaire et la vrification modulaire sont faiblement couvertes et constituent un champ de recherche trs intressant. De mme, les interactions entre aspects est un srieux problme dans la communaut des aspects. Pour faire face ces problmes, nous avons choisi dutiliser la thorie des catgories et les techniques des spcifications algbriques. Pour apporter une solution aux problmes ci-dessus cits, nous avons utilis les travaux de Wiels [110] et dautres contributions telles que celles dcrites dans le livre [25]. Nous supposons que le systme en dveloppement est dj dcompos en aspects et classes. La premire contribution de notre thse est lextension des techniques des spcifications algbriques la notion daspect. Deuximement, nous avons dfini une logique, LA , qui est utilise dans le corps des spcifications pour dcrire le comportement de ces composantes. La troisime contribution consiste en la dfinition de loprateur de tissage qui correspond la relation dinterconnexion entre les modules daspect et les modules de classe. La quatrime contribution concerne le dveloppement dun mcanisme de prvention qui permet de prvenir les interactions indsirables dans les systmes orients aspect.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Les changements sont faits de faon continue dans le code source des logiciels pour prendre en compte les besoins des clients et corriger les fautes. Les changements continus peuvent conduire aux dfauts de code et de conception. Les dfauts de conception sont des mauvaises solutions des problmes rcurrents de conception ou dimplmentation, gnralement dans le dveloppement orient objet. Au cours des activits de comprhension et de changement et en raison du temps daccs au march, du manque de comprhension, et de leur exprience, les dveloppeurs ne peuvent pas toujours suivre les normes de conception et les techniques de codage comme les patrons de conception. Par consquent, ils introduisent des dfauts de conception dans leurs systmes. Dans la littrature, plusieurs auteurs ont fait valoir que les dfauts de conception rendent les systmes orients objet plus difficile comprendre, plus sujets aux fautes, et plus difficiles changer que les systmes sans les dfauts de conception. Pourtant, seulement quelques-uns de ces auteurs ont fait une tude empirique sur limpact des dfauts de conception sur la comprhension et aucun dentre eux na tudi limpact des dfauts de conception sur leffort des dveloppeurs pour corriger les fautes. Dans cette thse, nous proposons trois principales contributions. La premire contribution est une tude empirique pour apporter des preuves de limpact des dfauts de conception sur la comprhension et le changement. Nous concevons et effectuons deux expriences avec 59 sujets, afin dvaluer limpact de la composition de deux occurrences de Blob ou deux occurrences de spaghetti code sur la performance des dveloppeurs effectuant des tches de comprhension et de changement. Nous mesurons la performance des dveloppeurs en utilisant: (1) lindice de charge de travail de la NASA pour leurs efforts, (2) le temps quils ont pass dans laccomplissement de leurs tches, et (3) les pourcentages de bonnes rponses. Les rsultats des deux expriences ont montr que deux occurrences de Blob ou de spaghetti code sont un obstacle significatif pour la performance des dveloppeurs lors de tches de comprhension et de changement. Les rsultats obtenus justifient les recherches antrieures sur la spcification et la dtection des dfauts de conception. Les quipes de dveloppement de logiciels doivent mettre en garde les dveloppeurs contre le nombre lev doccurrences de dfauts de conception et recommander des refactorisations chaque tape du processus de dveloppement pour supprimer ces dfauts de conception quand cest possible. Dans la deuxime contribution, nous tudions la relation entre les dfauts de conception et les fautes. Nous tudions limpact de la prsence des dfauts de conception sur leffort ncessaire pour corriger les fautes. Nous mesurons leffort pour corriger les fautes laide de trois indicateurs: (1) la dure de la priode de correction, (2) le nombre de champs et mthodes touchs par la correction des fautes et (3) lentropie des corrections de fautes dans le code-source. Nous menons une tude empirique avec 12 dfauts de conception dtects dans 54 versions de quatre systmes: ArgoUML, Eclipse, Mylyn, et Rhino. Nos rsultats ont montr que la dure de la priode de correction est plus longue pour les fautes impliquant des classes avec des dfauts de conception. En outre, la correction des fautes dans les classes avec des dfauts de conception fait changer plus de fichiers, plus les champs et des mthodes. Nous avons galement observ que, aprs la correction dune faute, le nombre doccurrences de dfauts de conception dans les classes impliques dans la correction de la faute diminue. Comprendre limpact des dfauts de conception sur leffort des dveloppeurs pour corriger les fautes est important afin daider les quipes de dveloppement pour mieux valuer et prvoir limpact de leurs dcisions de conception et donc canaliser leurs efforts pour amliorer la qualit de leurs systmes. Les quipes de dveloppement doivent contrler et supprimer les dfauts de conception de leurs systmes car ils sont susceptibles daugmenter les efforts de changement. La troisime contribution concerne la dtection des dfauts de conception. Pendant les activits de maintenance, il est important de disposer dun outil capable de dtecter les dfauts de conception de faon incrmentale et itrative. Ce processus de dtection incrmentale et itrative pourrait rduire les cots, les efforts et les ressources en permettant aux praticiens didentifier et de prendre en compte les occurrences de dfauts de conception comme ils les trouvent lors de la comprhension et des changements. Les chercheurs ont propos des approches pour dtecter les occurrences de dfauts de conception, mais ces approches ont actuellement quatre limites: (1) elles ncessitent une connaissance approfondie des dfauts de conception, (2) elles ont une prcision et un rappel limits, (3) elles ne sont pas itratives et incrmentales et (4) elles ne peuvent pas tre appliques sur des sous-ensembles de systmes. Pour surmonter ces limitations, nous introduisons SMURF, une nouvelle approche pour dtecter les dfauts de conception, bas sur une technique dapprentissage automatique machines vecteur de support et prenant en compte les retours des praticiens. Grce une tude empirique portant sur trois systmes et quatre dfauts de conception, nous avons montr que la prcision et le rappel de SMURF sont suprieurs ceux de DETEX et BDTEX lors de la dtection des occurrences de dfauts de conception. Nous avons galement montr que SMURF peut tre appliqu la fois dans les configurations intra-systme et inter-systme. Enfin, nous avons montr que la prcision et le rappel de SMURF sont amliors quand on prend en compte les retours des praticiens.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La maintenance du logiciel est une phase trs importante du cycle de vie de celui-ci. Aprs les phases de dveloppement et de dploiement, cest celle qui dure le plus longtemps et qui accapare la majorit des cots de l'industrie. Ces cots sont dus en grande partie la difficult deffectuer des changements dans le logiciel ainsi que de contenir les effets de ces changements. Dans cette perspective, de nombreux travaux ont cibl lanalyse/prdiction de limpact des changements sur les logiciels. Les approches existantes ncessitent de nombreuses informations en entre qui sont difficiles obtenir. Dans ce mmoire, nous utilisons une approche probabiliste. Des classificateurs baysiens sont entrans avec des donnes historiques sur les changements. Ils considrent les relations entre les lments (entres) et les dpendances entre changements historiques (sorties). Plus spcifiquement, un changement complexe est divis en des changements lmentaires. Pour chaque type de changement lmentaire, nous crons un classificateur baysien. Pour prdire limpact dun changement complexe dcompos en changements lmentaires, les dcisions individuelles des classificateurs sont combines selon diverses stratgies. Notre hypothse de travail est que notre approche peut tre utilise selon deux scnarios. Dans le premier scnario, les donnes dapprentissage sont extraites des anciennes versions du logiciel sur lequel nous voulons analyser limpact de changements. Dans le second scnario, les donnes dapprentissage proviennent dautres logiciels. Ce second scnario est intressant, car il permet dappliquer notre approche des logiciels qui ne disposent pas dhistoriques de changements. Nous avons russi prdire correctement les impacts des changements lmentaires. Les rsultats ont montr que lutilisation des classificateurs conceptuels donne les meilleurs rsultats. Pour ce qui est de la prdiction des changements complexes, les mthodes de combinaison "Voting" et OR sont prfrables pour prdire limpact quand le nombre de changements analyser est grand. En revanche, quand ce nombre est limit, lutilisation de la mthode Noisy-Or ou de sa version modifie est recommande.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Lingnierie dirige par les modles (IDM) est un paradigme dingnierie du logiciel bien tabli, qui prconise lutilisation de modles comme artfacts de premier ordre dans les activits de dveloppement et de maintenance du logiciel. La manipulation de plusieurs modles durant le cycle de vie du logiciel motive lusage de transformations de modles (TM) afin dautomatiser les oprations de gnration et de mise jour des modles lorsque cela est possible. Lcriture de transformations de modles demeure cependant une tche ardue, qui requiert la fois beaucoup de connaissances et defforts, remettant ainsi en question les avantages apports par lIDM. Afin de faire face cette problmatique, de nombreux travaux de recherche se sont intresss lautomatisation des TM. Lapprentissage de transformations de modles par lexemple (TMPE) constitue, cet gard, une approche prometteuse. La TMPE a pour objectif dapprendre des programmes de transformation de modles partir dun ensemble de paires de modles sources et cibles fournis en guise dexemples. Dans ce travail, nous proposons un processus dapprentissage de transformations de modles par lexemple. Ce dernier vise apprendre des transformations de modles complexes en sattaquant trois exigences constates, savoir, lexploration du contexte dans le modle source, la vrification de valeurs dattributs sources et la drivation dattributs cibles complexes. Nous validons notre approche de manire exprimentale sur 7 cas de transformations de modles. Trois des sept transformations apprises permettent dobtenir des modles cibles parfaits. De plus, une prcision et un rappel suprieurs 90% sont enregistrs au niveau des modles cibles obtenus par les quatre transformations restantes.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

En la actualidad, el uso de las tecnologas ha sido primordial para el avance de las sociedades, estas han permitido que personas sin conocimientos informticos o usuarios llamados no expertos se interesen en su uso, razn por la cual los investigadores cientficos se han visto en la necesidad de producir estudios que permitan la adaptacin de sistemas, a la problemtica existente dentro del mbito informtico. Una necesidad recurrente de todo usuario de un sistema es la gestin de la informacin, la cual se puede administrar por medio de una base de datos y lenguaje especfico, como lo es el SQL (Structured Query Language), pero esto obliga al usuario sin conocimientos a acudir a un especialista para su diseo y construccin, lo cual se ve reflejado en costos y mtodos complejos, entonces se plantea una pregunta qu hacer cuando los proyectos son pequeas y los recursos y procesos son limitados? Teniendo como base la investigacin realizada por la universidad de Washington[39], donde sintetizan sentencias SQL a partir de ejemplos de entrada y salida, se pretende con esta memoria automatizar el proceso y aplicar una tcnica diferente de aprendizaje, para lo cual utiliza una aproximacin evolucionista, donde la aplicacin de un algoritmo gentico adaptado origina sentencias SQL vlidas que responden a las condiciones establecidas por los ejemplos de entrada y salida dados por el usuario. Se obtuvo como resultado de la aproximacin, una herramienta denominada EvoSQL que fue validada en este estudio. Sobre los 28 ejercicios empleados por la investigacin [39], 23 de los cuales se obtuvieron resultados perfectos y 5 ejercicios sin xito, esto representa un 82.1% de efectividad. Esta efectividad es superior en un 10.7% al establecido por la herramienta desarrollada en [39] SQLSynthesizer y 75% ms alto que la herramienta siguiente ms prxima Query by Output QBO[31]. El promedio obtenido en la ejecucin de cada ejercicio fue de 3 minutos y 11 segundos, este tiempo es superior al establecido por SQLSynthesizer; sin embargo, en la medida un algoritmo gentico supone la existencia de fases que amplan los rangos de tiempos, por lo cual el tiempo obtenido es aceptable con relacin a las aplicaciones de este tipo. En conclusin y segn lo anteriormente expuesto, se obtuvo una herramienta automtica con una aproximacin evolucionista, con buenos resultados y un proceso simple para el usuario no experto.