Preprocessor Conditional Removal by Simple Partial Evaluation

  • Authors:
  • Ira D. Baxter;Michael Mehlich

  • Affiliations:
  • -;-

  • Venue:
  • WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Preprocessors with conditionals are often used as software configuration management tools, with preprocessor variables naming configuration aspects. The preprocessor conditionals found in large systems often have complex enabling Boolean equations and nesting. Over long periods, some configuration aspects lose all utility. Removal of all traces of a configuration variable and code dependent on that aspect becomes a significant task if performed manually.An industrial-strength transformation system can remove such configuration aspects in a much shorter period of time, by symbolically simplifying away the configuration aspect. This paper sketches the problem, and the required transforms, and discusses a case study involving over a million lines of source code.