Les défauts de code et de conception sont des problèmes d'implémentation et de conception qui proviennent de "mauvais" choix conceptuels récurrents. Ces défauts ont pour conséquence de freiner le développement et la maintenance des systèmes en les rendant plus difficiles à maintenir et évoluer. Une détection et une correction semi-automatiques sont donc des facteurs clefs pour faciliter les phases de maintenance et d'évolution. Des techniques et outils ont été proposés dans la littérature à la fois pour la détection et la correction des défauts. Les techniques de détection proposées consistent principalement à définir des règles pour détecter les défauts et à les appliquer sur le code source d'un système. Quant aux techniques de correction, elles consistent à appliquer de façon automatique des refactorisations dans le code source du système analysé afin de le restructurer de manière à corriger les défauts. Cependant. la phase qui consiste à identifier les restructurations est réalisée manuellement par les ingénieurs logiciels. Ainsi, il n'est pas possible de corriger directement et automatiquement les défauts détectés. Ce problème est dû au fait que la détection et la correction des défauts sont traitées de façon isolée. Ainsi, nous proposons DECOR, une méthode qui englobe et définit toutes les étapes nécessaires pour la détection et la correction des défauts de code et de conception. Cette méthode permet de spécifier des règles de détection à un haut niveau d'abstraction et de suggérer des restructurations de code afin d'automatiser la correction des défauts. Nous appliquons et validons notre méthode sur des systèmes libres orientés objet afin de montrer que notre méthode permet une détection précise et une correction adaptée des défauts. / Code and design smells are implementation and design problems that come from "poor" recurring. design choices. They may hinder development and maintenance of systems by maklng them hard for software englneers to cha~ge and evolve. A semiautomatic detection and correction are thus key factors to ease the maintenance. and evolutlon stages. Techniques and tools have been proposed in the literature both for the detection and correctlon of defects. The detection techniques proposed consist mainly in defining rules for detectlng defects and applying them to the source code of a system. As for the correction techniques, they conslst ln applying automatlcally refactorings ln the source code of the system analysed to restructure it and correct the defects. However, software englneers. have to identify manually how the system must be restructured. Thus, it is not possible to correct directly and automatlcally the defects detected. This problem is due to the fact that the detectlon and the correction of defects are treated independently. Thus, we propose DECOR, amethod that encompasses and defines ail steps necessary for the detection and correction of code and design defects. This method allows software engineers to speclfy detect!on rules at a high level of abstraction and to obtain automatically suggestions for code restructuring. We app!y and valldate our method on open-source object-oriented systems to show that our method allows a precise detectlon and a suiltable correction of defects
Identifer | oai:union.ndltd.org:theses.fr/2008LIL10036 |
Date | 26 August 2008 |
Creators | Moha, Naouel |
Contributors | Lille 1, Université de Montréal, Duchien, Laurence, Guéhéneuc, Yann-Gaël, Le Meur, Anne Françoise |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0039 seconds