DocumentCode
175507
Title
The Ekeko/X Program Transformation Tool
Author
De Roover, C. ; Inoue, K.
Author_Institution
Software Eng. Lab., Osaka Univ., Suita, Japan
fYear
2014
fDate
28-29 Sept. 2014
Firstpage
53
Lastpage
58
Abstract
Developers often need to perform repetitive changes to source code. For instance, to repair several instances of a bug or to update all clients of a library to a newer version. Manually performing such changes is laborious and error-prone. Program transformation tools enable automating changes, but specifying changes as a program transformation requires significant expertise. Code templates are often touted as a remedy, yet have never been endorsed wholeheartedly. Their use is mostly limited to expressing the syntactic characteristics of the intended change subjects. Less familiar means have to be resorted to for expressing their structural, control flow, and data flow characteristics. In this tool paper, we introduce a decidedly template-driven program transformation tool called Ekeko/X. Its specifications feature templates for specifying all of the aforementioned characteristics of its subjects. To this end, developers can associate different directives with individual components of a template. Each matching directive imposes particular constraints on the matches for the component it is associated with. Rewriting directives, on the other hand, determine how each match should be changed. We develop Ekeko/X from the ground up, starting from its applicative logic meta-programming foundation. We highlight the key choices in this implementation and demonstrate its use through two example program transformations.
Keywords
program compilers; program debugging; source code (software); Ekeko/X program transformation tool; code templates; control flow characteristics; data flow characteristics; metaprogramming foundation; rewriting directives; source code; structural characteristics; syntactic characteristics; Abstracts; Concrete; Java; Libraries; Reactive power; Receivers; Syntactics; code templates; program transformation; refactoring;
fLanguage
English
Publisher
ieee
Conference_Titel
Source Code Analysis and Manipulation (SCAM), 2014 IEEE 14th International Working Conference on
Conference_Location
Victoria, BC
Type
conf
DOI
10.1109/SCAM.2014.32
Filename
6975636
Link To Document