Recommending Source Code Locations for System Specific Transformations - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Communication Dans Un Congrès Année : 2017

Recommending Source Code Locations for System Specific Transformations

Résumé

From time to time, developers perform sequences of code transformations in a systematic and repetitive way. This may happen, for example, when introducing a design pattern in a legacy system: similar classes have to be introduced, containing similar methods that are called in a similar way. Automation of these sequences of transformations has been proposed in the literature to avoid errors due to their repetitive nature. However, developers still need support to identify all the relevant code locations that are candidate for transformation. Past research showed that these kinds of transformation can lag for years with forgotten instances popping out from time to time as other evolutions bring them into light. In this paper, we evaluate three distinct code search approaches ("structural" , based on Information Retrieval, and AST based algorithm) to find code locations that would require similar transformations. We validate the resulting candidate locations from these approaches on real cases identified previously in literature. The results show that looking for code with similar roles, e.g., classes in the same hierarchy, provides interesting results with an average recall of 87% and in some cases the precision up to 70%.
Fichier principal
Vignette du fichier
Sant17a-SANER-RecommendingTransformations.pdf (240.04 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01441790 , version 1 (20-01-2017)

Identifiants

  • HAL Id : hal-01441790 , version 1

Citer

Gustavo Santos, Klérisson V R Paixão, Nicolas Anquetil, Anne Etien, Marcelo de Almeida, et al.. Recommending Source Code Locations for System Specific Transformations. 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering, Feb 2017, Klagenfurt, Austria. ⟨hal-01441790⟩
390 Consultations
249 Téléchargements

Partager

Gmail Facebook X LinkedIn More