Our project, the Conditional Compilation Analyzer, is being written for Hewlett Packard as a project for the UI Computer Science 481 course (Fall 1996 semester). Troy Pearse is the Hewlett Packard representative and the direct project customer. Jerry Atkinson is acting as proxy customer for Troy.
HP needs to measure and view (abstractly) the conditional compilation logic of their embedded systems code files. Using these measurements, HP can determine how much testing and maintenance will be required for these files.
The CCA will calculate complexity metrics on the conditional compilation logic and provide a graphical structure chart of the logic in a given C source file. The structure chart will show the ``name'' and/or constant expression used at each conditional node, which line number the #directive is on, and the number of lines of code in each logical grouping.
A summary report will be generated which will include the following complexity metrics: