Program Translation Via Abstraction and Reimplementation
IEEE Transactions on Software Engineering
Specification and transformation of programs: a formal approach to software development
Specification and transformation of programs: a formal approach to software development
Using an enabling technology to reengineer legacy systems
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
An introduction to partial evaluation
ACM Computing Surveys (CSUR)
Generation of components for software renovation factories from context-free grammars
Science of Computer Programming - Special issue on WCRE 97
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Software Change Through Design Maintenance
ICSM '97 Proceedings of the International Conference on Software Maintenance
Clone Detection Using Abstract Syntax Trees
ICSM '98 Proceedings of the International Conference on Software Maintenance
Automated Software Evolution via Design Pattern Transformations
Automated Software Evolution via Design Pattern Transformations
What does aspect-oriented programming mean to Cobol?
Proceedings of the 4th international conference on Aspect-oriented software development
A formal mechanism for analysis and re-implementation of legacy programs
SE '08 Proceedings of the IASTED International Conference on Software Engineering
POET: a scripting language for applying parameterized source-to-source program transformations
Software—Practice & Experience
Hi-index | 0.01 |
Software maintenance costs dominate software engineering costs, partly because most such engineering is done manually. Program Transformation tools leverage an engineer-provided base of “transforms” (a kind of generative reuse of programming knowledge), to automate analysis, modification, and generation of software, enhancing productivity and quality over conventional methods. This tutorial provides a complete overview of Program Transformation, from theory to implementation to application. Several real transformation systems will be examined, with application examples including automated detection and removal of duplicate code from large systems, and the potential for semi-automated refactoring of large object frameworks. The tutorial progresses from introductory to intermediate, but all the necessary background will be provided, so attendees need only basic software engineering knowledge and motivating experience modifying software.