The Library will be performing maintenance on UWSpace on September 4th, 2024. UWSpace will be offline for all UW community members during this time.
 

Giving Meaning to Macros

Loading...
Thumbnail Image

Date

2004

Authors

Mennie, Christopher

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

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.

Description

Keywords

Computer Science, macro, c++, c, migration, sofware engineering

LC Keywords

Citation