Coan is a software engineering tool for analysing preprocessor-based configurations of C or C++ source code. Its principal use is to simplify a body of source code by eliminating any parts that are redundant with respect to a specified configuration.
I've seen quite a few mentions of this product on StackOverload where a lot of serious programmers are trying to arrive at some kind of structured evaluation for inherited legacy code where the unknowns prevent them from benefiting from previously-invested knowledge. When wizards go into gardening, move, retire or die, this tool might be the key to bringing the new guys up to speed on the magic of the departed gurus.
We've been evaluating Coan as a tool to mainline or remove some of the many thousands of redundant conditional compiles in our very large codebase. It's proving to be * accurate * easy to use * fast What more could you ask for? When we've finished analysing which #defines we want to remove it's the tool we will use.