Return to search

Giving Meaning to Macros

With the prevalence of legacy C/C++ code, issues of readability and maintainability have become increasingly important. When we consider the problem of refactoring or migrating C/C++ code, we see the significant role that preprocessor directives play. It is partially because of these preprocessor directives that code maintenance has become extremely difficult. This thesis describes a method of fact extraction and code manipulation to create a set of transformations which will 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, some of the subtle issues that may arise when migrating preprocessor directives are explored. After discussing the general architecture of the test implementation, an examination of some metrics gathered by running it on two software systems is given.

Identiferoai:union.ndltd.org:WATERLOO/oai:uwspace.uwaterloo.ca:10012/1041
Date January 2004
CreatorsMennie, Christopher
PublisherUniversity of Waterloo
Source SetsUniversity of Waterloo Electronic Theses Repository
LanguageEnglish
Detected LanguageEnglish
TypeThesis or Dissertation
Formatapplication/pdf, 670517 bytes, application/pdf
RightsCopyright: 2004, Mennie, Christopher. All rights reserved.

Page generated in 0.0015 seconds