DocumentCode :
3132724
Title :
Giving meaning to macros
Author :
Mennie, Christopher A. ; Clarke, Charles L A
Author_Institution :
Sch. of Comput. Sci., Waterloo Univ., Ont., Canada
fYear :
2004
fDate :
24-26 June 2004
Firstpage :
79
Lastpage :
85
Abstract :
With the prevalence of legacy C/C++ code, it continually becomes more important to address the issues of readability and maintainability. When considering the problems with refactoring or migrating C/C++ code we see how important a role preprocessor directives play. In part, because of these preprocessor directives it is extremely difficult to maintain our code. We outline a method of fact extraction and manipulation to create a set of transformations that remove preprocessor directives from the original source, converting them into regular C/C++ code with as few changes as possible, while maintaining readability in the code. In addition, we briefly explore some of the subtle issues that arise when migrating preprocessor directives. After discussing the general architecture of our test implementation, we look at some metrics gathered by running it on two software systems.
Keywords :
C language; C++ language; macros; program processors; software maintenance; C/C++ code; C/C++ language; C/C++ preprocessor; fact extraction; fact manipulation; legacy systems; macro processor; macros; software systems; Computer architecture; Computer science; Program processors; Software systems; Software testing; System testing; Visualization;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Program Comprehension, 2004. Proceedings. 12th IEEE International Workshop on
ISSN :
1092-8138
Print_ISBN :
0-7695-2149-5
Type :
conf
DOI :
10.1109/WPC.2004.1311050
Filename :
1311050
Link To Document :
بازگشت