Skip to Main content Skip to Navigation
Conference papers

Recommending Source Code Locations for System Specific Transformations

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 metadata
Contributor : Lse Lse Connect in order to contact the contributor
Submitted on : Friday, January 20, 2017 - 11:01:40 AM
Last modification on : Friday, January 21, 2022 - 3:13:02 AM
Long-term archiving on: : Friday, April 21, 2017 - 1:44:09 PM


Files produced by the author(s)


  • HAL Id : hal-01441790, version 1



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⟩



Les métriques sont temporairement indisponibles