Une approche pour la maintenance et la ré-ingénierie globale des logiciels - Laboratoire d'Informatique de Grenoble Accéder directement au contenu
Thèse Année : 1995

Une approche pour la maintenance et la ré-ingénierie globale des logiciels

Jean-Marie Favre
  • Fonction : Auteur
  • PersonId : 855164

Résumé

While computing turns to the future, this thesis focuses on the past; legacy software systems are and will continue to be maintained. Three themes are essential in the context of this study: Software Maintenance, Software Reengineering and Programming-In-The-Large (PITL). The main goal of this thesis is to explore the intersection between Reengineering and Programming-In-The-Large, a domain that we coin "Reengineering-In-The-Large". The key idea is to prove that Programming-in-the-small concepts can be used to solve practical Programming-In-The-Large problems. We studied PTIL according to 4 different views: architecture, manufacture, variation and evolution. We also defined an abstract model based on set theory concepts to formalise PITL entities. The PITL technology is studied. The differences between the State-Of-The-Art and the State-Of-The-Practice emphasizes the need for Reengineering-In-The-Large. Preprocessors are studied as special cases of PITL tools. These low-level tools are traditionally used to describe program families. In order to make their comprehension easier, we use techniques like partial evaluation, inter-procedural data-flow analysis and slicing. A prototype which combines these different techniques was implemented to demonstrate that an approach based on theoretical Programming-In-The- Small concepts can be used to solve practical Programming-In-The-Large problems.
Alors que l'informatique est résolument tournée vers l'avenir, cette thèse se concentre sur le passé ; non pas par nostalgie mais plutôt parce que le futur des logiciels âgés est une question d'actualité. Plus particulièrement trois thèmes sont abordés : la maintenance, la ré-ingénierie et la programmation globale. L'objectif de cette étude est d'explorer l'intersection entre la ré-ingénierie et la programmation globale, domaine que nous avons baptisé ré-ingénierie globale. L'idée principale est de réutiliser des concepts et des techniques de programmation détaillée. En fait nous proposons de définir la programmation globale en distinguant 4 aspects du logiciel : l'architecture, la manufacture, la variation et l'évolution. Un modèle abstrait basé sur des concepts ensemblistes est proposé pour modéliser les différentes entités de programmation globale. La technologie relative à ce domaine est ensuite décrite en considérant aussi bien l'état de l'art que l'état de la pratique. La différence entre ces deux aspects souligne l'intérêt de la ré-ingénierie globale. A titre d'illustration, nous étudions le cas des préprocesseurs en tant qu'outils de programmation globale. Ces outils de bas niveau provenant des années 70 sont traditionnellement utilisés pour décrire des familles de programmes. Pour faciliter la compréhension de tels artefacts nous proposons d'utiliser des techniques comme l'évaluation partielle, l'analyse inter-procédurale de flot de données ou encore le découpage. Ces techniques, définies de manière rigoureuse, s'appuient sur la sémantique dénotationnelle du préprocesseur utilisé. Un prototype montrant leur utilité a été réalisé. Il prouve qu'une approche basée sur des fondements théoriques issus de la programmation détaillée est applicable pour résoudre des problèmes pratiques de programmation globale.
Fichier principal
Vignette du fichier
These-JM_Favre.pdf (1.33 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00724676 , version 1 (22-08-2012)

Identifiants

  • HAL Id : tel-00724676 , version 1

Citer

Jean-Marie Favre. Une approche pour la maintenance et la ré-ingénierie globale des logiciels. Système d'exploitation [cs.OS]. Université Joseph-Fourier - Grenoble I, 1995. Français. ⟨NNT : ⟩. ⟨tel-00724676⟩
423 Consultations
2299 Téléchargements

Partager

Gmail Facebook X LinkedIn More