SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Meta-programming with Concrete Object Syntax
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Refactoring to Patterns
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
Reengineering C++ Component Models via Automatic Program Transformation
WCRE '05 Proceedings of the 12th Working Conference on Reverse Engineering
JunGL: a scripting language for refactoring
Proceedings of the 28th international conference on Software engineering
A Change-based Approach to Software Evolution
Electronic Notes in Theoretical Computer Science (ENTCS)
Aligning development tools with the way programmers think about code changes
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Behavioral similarity matching using concrete source code templates in logic queries
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Towards Model Transformation Generation By-Example
HICSS '07 Proceedings of the 40th Annual Hawaii International Conference on System Sciences
Characterizing and Understanding Development Sessions
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Detecting model inconsistency through operation-based model construction
Proceedings of the 30th international conference on Software engineering
SpyWare: a change-aware development toolset
Proceedings of the 30th international conference on Software engineering
Towards software configuration management for unified models
Proceedings of the 2008 international workshop on Comparison and versioning of software models
An approach to software evolution based on semantic change
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Model transformation by example
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
MoDELS'05 Proceedings of the 2005 international conference on Satellite Events at the MoDELS
An Example Is Worth a Thousand Words: Composite Operation Modeling By-Example
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Model Transformation by Demonstration
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Sydit: creating and applying a program transformation from an example
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Hi-index | 0.01 |
Software changes. During their life cycle, software systems experience a wide spectrum of changes, from minor modifications to major architectural shifts. Small-scale changes are usually performed with text editing and refactorings, while large-scale transformations require dedicated program transformation languages. For medium-scale transformations, both approaches have disadvantages. Manual modifications may require a myriad of similar yet not identical edits, leading to errors and omissions, while program transformation languages have a steep learning curve, and thus only pay off for large-scale transformations.We present a system supporting example-based program transformation. To define a transformation, a programmer performs an example change manually, feeds it into our system, and generalizes it to other application contexts. With time, a developer can build a palette of reusable medium-sized code transformations. We provide a detailed description of our approach and illustrate it with examples.