Recording and Replaying System Specific, ...
Document type :
Communication dans un congrès avec actes
Title :
Recording and Replaying System Specific, Source Code Transformations
Author(s) :
Santos, Gustavo [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Etien, Anne [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Anquetil, Nicolas [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Tulio Valente, Marco [Auteur]
Departamento de Ciência da Computação [Minas Gerais] [DCC - UFMG]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Etien, Anne [Auteur]

Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Anquetil, Nicolas [Auteur]

Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]

Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Tulio Valente, Marco [Auteur]
Departamento de Ciência da Computação [Minas Gerais] [DCC - UFMG]
Conference title :
15th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM)
City :
Bremen
Country :
Allemagne
Start date of the conference :
2015-09-27
English keyword(s) :
Automated Code Transformation
Software Maintenance
Software Evolution
Refactoring
Programming By Demonstration
Software Maintenance
Software Evolution
Refactoring
Programming By Demonstration
HAL domain(s) :
Informatique [cs]/Langage de programmation [cs.PL]
Informatique [cs]/Génie logiciel [cs.SE]
Informatique [cs]/Génie logiciel [cs.SE]
English abstract : [en]
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 ...
Show more >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.Show less >
Show more >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.Show less >
Language :
Anglais
Peer reviewed article :
Oui
Audience :
Internationale
Popular science :
Non
Collections :
Source :
Files
- https://hal.inria.fr/hal-01185639/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01185639/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01185639/document
- Open access
- Access the document
- document
- Open access
- Access the document
- Sant15-SCAM-MacroRecorder.pdf
- Open access
- Access the document