Title :
Evolving object-oriented designs with refactorings
Author :
Tokuda, Lance ; Batory, Don
Author_Institution :
Dept. of Comput. Sci., Texas Univ., Austin, TX, USA
Abstract :
Refactorings are behaviour-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 14 K lines of code, that otherwise would have been coded by hand, were transformed automatically. Our experiments identify the benefits, limitations and topics of further research related to the transfer of refactoring technology to a production environment
Keywords :
object-oriented methods; object-oriented programming; software engineering; C++ application restructuring; automatic design level changes; behaviour-preserving program transformations; design patterns; hot-spot meta-patterns; object-oriented design evolution; production environment; refactorings; schema transformations; software engineering; Computer science; Microarchitecture; Object oriented databases;
Conference_Titel :
Automated Software Engineering, 1999. 14th IEEE International Conference on.
Conference_Location :
Cocoa Beach, FL
Print_ISBN :
0-7695-0415-9
DOI :
10.1109/ASE.1999.802203