D23: APProVer: Managing Conditional Compilation Through Object and Aspect-Oriented ModelingTuesday, Oct 24, from 16:30 to 17:00 Wednesday, Oct 25, from 13:30 to 14:00 Thursday, Oct 26, from 11:00 to 11:30
Today's large software systems and libraries are geared towards a broad range of platforms and environments, often relying on conditional compilation through preprocessor directives to generate specific builds for a given set of configuration options. In spite of the well-documented benefits of using preprocessor directives for conditional compilation, heavy preprocessor presence can hinder code readability and affect maintenance and debugging. Although various preprocessor tools do exist that allow refactoring and hiding of unwanted preprocessor conditionals, most are native applications that do not benefit from an interpreted, object-driven language with features like garbage collection or JIT compilation. As general-purpose, extensible IDE's like Eclipse are becoming more prevalent among systems developers, particularly with the advent of CDT, extending a Java-based C development toolkit to support conditional compilation management is of great interest to C programmers. Of particular interest to object-oriented developers and OOPSLA is how object modeling of a non-OO source can lead to cleaner view of the code base, and in return reduce source maintenance. These points, as well as IBM's conditional compilation requirements for maintaining their J9 JVM source base, are the leading motivations behind the development of APProVer (Aspect-miner and PreProcessor Viewer). Keywords: Conditional Compilation, C Preprocessors, Object Modeling, CDT, Eclipse, Aspect-Oriented Programming Nieraj Singh, University of Victoria
Graeme Johnson, Ibm
|