• DocumentCode
    3696682
  • 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
  • fYear
    2015
  • Firstpage
    221
  • Lastpage
    230
  • 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"
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation (SCAM), 2015 IEEE 15th International Working Conference on
  • Type

    conf

  • DOI
    10.1109/SCAM.2015.7335418
  • Filename
    7335418