Aspect mining in the presence of the C preprocessor

  • Authors:
  • Bram Adams;Bart Van Rompaey;Celina Gibbs;Yvonne Coady

  • Affiliations:
  • Ghent University, Ghent, Belgium;University of Antwerp, Antwerpen, Belgium;University of Victoria, Canada;University of Victoria, Canada

  • Venue:
  • Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

In systems software, the C preprocessor is heavily used to manage variability and improve efficiency. It is the primary tool to model crosscutting concerns in a very fine-grained way, but leads to extremely tangled and scattered preprocessor code. In this paper, we explore the process of aspect mining and extraction in the context of preprocessor-driven systems. Our aim is to identify both opportunities (extracting conditional compilation into advice) and pitfalls (mining on unpreprocessed code) in migrating preprocessor code to aspects. We distill five trade-offs which give a first impression about the usefulness of replacing the preprocessor by aspects. Preprocessor-driven systems prove to be a real challenge for aspect mining, but they could become on the other hand one of the most promising applications of AOP.