Recommending Source Code Locations for System Specific Transformations

Gustavo Santos 1 Klérisson Paixão 2 Nicolas Anquetil 1 Anne Etien 1 Marcelo de Almeida 2 Stéphane Ducasse 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 : 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%.
Complete list of metadatas

https://hal.inria.fr/hal-01441790
Contributor : Lse Lse <>
Submitted on : Friday, January 20, 2017 - 11:01:40 AM
Last modification on : Friday, March 22, 2019 - 1:35:59 AM
Long-term archiving on : Friday, April 21, 2017 - 1:44:09 PM

File

Sant17a-SANER-RecommendingTran...
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01441790, version 1

Citation

Gustavo Santos, Klérisson 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⟩

Share

Metrics

Record views

602

Files downloads

288