Refactoring C with conditional compilation

Refactoring, an important technique for increasing flexibility of the source code, can be applied with much ease and efficiency by using automated tools. There is currently a lack of refactoring tools for C with full support for preprocessor directives because directives complicate refactorings in many ways. This paper describes refactoring of C programs in the presence of conditional compilation directives and how we propose to support them in a refactoring tool.

[1]  Marian Vittek Refactoring browser with preprocessor , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[2]  Lerina Aversano,et al.  Handling preprocessor-conditioned declarations , 2002, Proceedings. Second IEEE International Workshop on Source Code Analysis and Manipulation.

[3]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[4]  M. Fowler Improving the Design of Existing Code , 2000 .

[5]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[6]  Ralph E. Johnson,et al.  A Refactoring Tool for Smalltalk , 1997, Theory Pract. Object Syst..

[7]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[8]  Ira D. Baxter,et al.  Preprocessor conditional removal by simple partial evaluation , 2001, Proceedings Eighth Working Conference on Reverse Engineering.