Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The ASF+SDF Meta-environment: A Component-Based Language Development Environment
CC '01 Proceedings of the 10th International Conference on Compiler Construction
Refactoring to Patterns
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
iXj: interactive source-to-source transformations for java
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
JunGL: a scripting language for refactoring
Proceedings of the 28th international conference on Software engineering
The TXL source transformation language
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Stratego/XT 0.17. A language and toolset for program transformation
Science of Computer Programming
Tom: piggybacking rewriting on java
RTA'07 Proceedings of the 18th international conference on Term rewriting and applications
A refactoring constraint language and its application to eiffel
Proceedings of the 25th European conference on Object-oriented programming
A domain-specific language for scripting refactorings in erlang
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Scripting a refactoring with Rascal and Eclipse
Proceedings of the Fifth Workshop on Refactoring Tools
Use, disuse, and misuse of automated refactorings
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.00 |
We present a status report on a project to build a refactoring engine whose primary goal is to allow undergraduate students to write classical and neo-classical refactorings (pull-up, class partitioning) and design patterns (visitor, framework) as parameterized refactoring scripts in Java. We explain the first step of our work that creates a reflection-like interface to expose the structure of an Eclipse JDT application as Java objects; methods of these objects are refactorings. Doing so hides the complexity of JDT refactoring code and tools, so that refactoring scripts can be written as compact Java methods. We present preliminary performance results of scripting JDT refactorings and sketch the next steps of our work.