CppDepend is a tool for analyzing complex C++ applications. Using CQLinq, a new query language based on LINQ, developers can write scripts that examine complex relationships between classes and methods. These can be used for general exploration or to build up static code analysis rules.
CppDepend 3 represents a significant change over the previous version. The backend has been rewritten to use Clang, which is often considered to be one of the most advanced C++ parsers. The frontend requires .NET 3.5 on Windows and Mono on Linux.
Out of the box, CppDepend includes numerous dependency graphs and 60 code metrics. The aforementioned CQLinq is can be used to create new metrics or to introduce static analysis rules using the warnif keyword.
CppDepend is a commercial product and is licensed per developer/build machine, but you can “use SOFTWARE PRODUCT(S) marked as a "TRIAL" on Open Source or Academic (Student Research) project without time limit.”