Title :
Recording and replaying system specific, source code transformations
Author :
Gustavo Santos;Anne Etien;Nicolas Anquetil;Stéphane Ducasse;Marco Tulio Valente
Author_Institution :
RMoD Team, INRIA Lille Nord Europe, University of Lille, CRIStAL, UMR 9189, France
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.
Keywords :
"Context","Maintenance engineering","Systematics","Manuals","Software systems","Prototypes","Computer bugs"
Conference_Titel :
Source Code Analysis and Manipulation (SCAM), 2015 IEEE 15th International Working Conference on
DOI :
10.1109/SCAM.2015.7335418