Recording and Replaying System Specific, Source Code Transformations

Abstract : During its lifetime, a software system is under continuous maintenance to remain useful. Maintenance can be achieved in activities such as adding new features, fixing bugs, improving the system's structure, or adapting to new APIs. In such cases, developers sometimes perform sequences of code changes in a systematic way. These sequences consist of small code changes (e.g., create a class, then extract a method to this class), which are applied to groups of related code entities (e.g., some of the methods of a class). This paper presents the design and proof-of-concept implementation of a tool called MacroRecorder. This tool records a sequence of code changes, then it allows the developer to generalize this sequence in order to apply it in other code locations. In this paper, we discuss MacroRecorder's approach that is independent of both development and transformation tools. The evaluation is based on previous work on repetitive code changes related to rearchitecting. MacroRecorder was able to replay 92% of the examples, which consisted in up to seven code entities modified up to 66 times. The generation of a customizable, large-scale transformation operator has the potential to efficiently assist code maintenance.
Complete list of metadatas

Cited literature [17 references]  Display  Hide  Download

https://hal.inria.fr/hal-01185639
Contributor : Lse Lse <>
Submitted on : Thursday, August 20, 2015 - 5:49:09 PM
Last modification on : Friday, March 22, 2019 - 1:34:46 AM
Long-term archiving on : Wednesday, April 26, 2017 - 10:10:15 AM

File

Sant15-SCAM-MacroRecorder.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01185639, version 1

Collections

Citation

Gustavo Santos, Anne Etien, Nicolas Anquetil, Stéphane Ducasse, Marco Tulio Valente. Recording and Replaying System Specific, Source Code Transformations. 15th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), Sep 2015, Bremen, Germany. pp.10. ⟨hal-01185639⟩

Share

Metrics

Record views

399

Files downloads

220