DocumentCode
2472168
Title
Refactoring towards seams in C++
Author
Rüegg, Michael ; Sommerlad, Peter
Author_Institution
Inst. for Software, Univ. of Appl. Sci. Rapperswil, Rapperswil, Switzerland
fYear
2012
fDate
2-3 June 2012
Firstpage
117
Lastpage
123
Abstract
Breaking dependencies is an important task in refactoring legacy code. With the help of Feathers´ seams we gain the power to unit test our legacy code base because they enable us to inject dependencies from outside. Although seams are a valuable technique, it is hard and cumbersome to apply them without automated refactorings and tool chain configuration support. We show how to create seams in C++ by using new refactorings. To automate this task, we provide sophisticated IDE support. Our reference implementation creates the boilerplate code and the necessary infrastructure for the four presented seam types object, compile, preprocessor and link seam.
Keywords
C++ language; program compilers; program testing; software maintenance; C++ language; IDE support; automated refactorings; boilerplate code; breaking dependencies; compile seam; legacy code base unit testing; legacy code refactoring; link seam; object seam; preprocessor seam; tool chain configuration support; valuable technique; Computer languages; Concrete; Feathers; Joining processes; Libraries; Shadow mapping; Testing; C++11; Eclipse CDT; Legacy Code; Refactoring; Seam; Static Polymorphism; Test Double; Unit Testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Automation of Software Test (AST), 2012 7th International Workshop on
Conference_Location
Zurich
Print_ISBN
978-1-4673-1821-1
Type
conf
DOI
10.1109/IWAST.2012.6228979
Filename
6228979
Link To Document