Assessing and Improving Code Transformations to Support Software Evolution

Gustavo Jansen de Souza Santos 1
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Abstract : In software development, change is the only constant. Software systems sometimes evolve in a substantial way and, during this process, sequences of code transformations (e.g., create a class, then override a method) are systematically performed in the system (e.g., to some classes in the same hierarchy). Due to the repetitive nature of these transformations, some automated support is needed to ensure that these sequences of transformations are consistently applied to the entire system. In this thesis we propose to improve source code transformations to better support developers performing more complex and systematic code transformations. We cover two aspects: (i) The automated support to compose and apply sequences of code transformations. We undergo an investigation on the existence of these sequences in real-world software systems. We propose a tool to automatically apply these sequences in the systems we analyzed. (ii) The detection of design violations during a transformation effort. We undergo an investigation on cases of systematic application of refactoring transformations. We proposed a tool that recommends additional transformations to fix design violations that are detected after performing refactoring transformations. We evaluated the proposed approaches quantitatively and qualitatively in real-world case studies and, in some cases, with the help of experts on the systems under analysis. The results we obtained demonstrate the usefulness of our approaches.
Document type :
Theses
Liste complète des métadonnées

Cited literature [92 references]  Display  Hide  Download

https://hal.inria.fr/tel-01545596
Contributor : Lse Lse <>
Submitted on : Thursday, June 22, 2017 - 5:30:53 PM
Last modification on : Friday, March 22, 2019 - 1:34:18 AM
Document(s) archivé(s) le : Wednesday, January 10, 2018 - 4:34:44 PM

Identifiers

  • HAL Id : tel-01545596, version 1

Citation

Gustavo Jansen De Souza Santos. Assessing and Improving Code Transformations to Support Software Evolution. Software Engineering [cs.SE]. Université de Lille, 2017. English. 〈tel-01545596〉

Share

Metrics

Record views

252

Files downloads

176