Recommending Source Code Locations for System Specific Transformations - Archive ouverte HAL Access content directly
Conference Papers Year :

Recommending Source Code Locations for System Specific Transformations

(1) , (2) , (1) , (1) , (2) , (1)
1
2

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%.
Fichier principal
Vignette du fichier
Sant17a-SANER-RecommendingTransformations.pdf (240.04 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

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

Identifiers

  • HAL Id : hal-01441790 , version 1

Cite

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⟩
387 View
230 Download

Share

Gmail Facebook Twitter LinkedIn More