Finding refactorings via change metrics
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Cascaded refactoring for framework
SSR '01 Proceedings of the 2001 symposium on Software reusability: putting software reuse in context
Achieving extensibility through product-lines and domain-specific languages: a case study
ACM Transactions on Software Engineering and Methodology (TOSEM)
Challenges of refactoring C programs
Proceedings of the International Workshop on Principles of Software Evolution
DMS: program transformations for practical scalable software evolution
Proceedings of the International Workshop on Principles of Software Evolution
Heuristics for Hierarchical Partitioning with Application to Model Checking
CHARME '01 Proceedings of the 11th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
Architectural Refactoring in Framework Evolution: A Case Study
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Making patterns explicit with metaprogramming
Proceedings of the 2nd international conference on Generative programming and component engineering
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
Case study: Re-engineering C++ component models via automatic program transformation
Information and Software Technology
The impact of static-dynamic coupling on remodularization
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
A role-based crosscutting concerns mining approach to evolve Java systems towards AOP
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
Towards a refactoring guideline using code clone classification
Proceedings of the 2nd Workshop on Refactoring Tools
Applying model fragment copy-restore to build an open and distributed MDA environment
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Changing programs correctly: refactoring with specifications
FM'06 Proceedings of the 14th international conference on Formal Methods
Extended iterative maintenance life cycle using eXtreme programming
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Refactorings are behavior-preserving program transformations that automate design level changes in object-oriented applications. Our previous research established that many schema transformations, design patterns, and hot-spot meta-patterns are automatable. This research evaluates whether refactoring technology can be transferred to the mainstream by restructuring non-trivial C++ applications. The applications that we examine were evolved manually by software engineers. We show that an equivalent evolution could be reproduced significantly faster and cheaper by applying a handful of general-purpose refactorings. In one application, over 14K lines of code were transformed automatically that otherwise would have been coded by hand. Our experiments identify benefits, limitations, and topics of further research related to the transfer of refactoring technology to a production environment.