CppDepend :: C/C++ Static Analysis and Code Quality tool

How to improve your
C/C++ Code Quality.


More than 600 companies use CppDepend to measure, understand and improve their C/C++ code quality.

Martin Richter - MVP for C++ for over 10 years.

"Using CppDepend is like climbing an observation tower and look at the work you have done in the excavation of your project."

We will never sell or share your email address to any 3rd party. Promise.

CppDepend is able to tell the developer that over the past hour, the code just written has introduced debt that would cost for example about 30 minutes should it have to be repaid later. Knowing this, the developer can fix the code before even committing it to the source control.

With CppDepend code rules are LINQ queries that can be created and customized in a matter of seconds. These queries contain formulas to compute accurate technical debt estimations.

The default rule-set offers over a hundred code rules that detect a wide range of code smells including entangled code, dead-code, API breaking changes and bad OOP usage.

As a static analyzer, CppDepend will likely find hundreds or even thousands of issues affecting a real-world code base. Stopping work to attempt to fix all issues for weeks would be quite unproductive.

This is why CppDepend offers a baseline. The tool estimates the Technical Debt progress since the baseline.

Recent code smells that should be fixed before committing any code to source control are highlighted in VisualCppDepend. They can then be fixed even before reaching the source server.

As a consequence the Code Quality remains under control with no major upfront investment.

A Quality Gate is a code quality criterion that must be enforced before releasing and eventually, before committing to source control.

A dozen default Quality Gates are continuously checking measures such as overall Code Coverage by tests or extra Technical Debt since baseline.

With CppDepend, a Quality Gate is a LINQ query easy to customize and create. This unique approach offers the required level of flexibility to enforce what really matters for your organization.

We don't sell consultancy, we sell software. Our goal is to offer a seamless tool which is easy to get started with and easy to live with. With CppDepend, you'll obtain in-depth reporting within a few minutes after first installation and CppDepend results will quickly become essential to make the right decisions.

CppDepend integrates smoothly both within Visual Studio (2017, 2015, 2013, 2012, 2010). Other DevOps and Continuous Integration tools are also supported (TFS 2013, TeamCity, SonarQube...).

Interactive and detailed report production is automated from the Continuous Integration process.

Because we know the developer's time is invaluable, CppDepend is fast. The first analysis only takes a few minutes to achieve the full analysis. The Incremental analysis makes CppDepend very fast after the first analysis.

The technical debt can be re-estimated within just a few seconds, even for hundreds of rules passed on a very large code base and, as we are aware of its importance, without any noticeable IDE slow down.

Fixing issues is much easier as the developer is immediately informed with no delay of new issues just created, while the context is still fresh in her mind and while the code is not yet checked-in to the source control server.

Because a picture is worth a thousand words, CppDepend proposes several unique ways to visualize your code. This includes:

Code maintainability improves. This positively impacts the productivity of development teams.

Over time, developers become educated about rules to follow and their skills improve.

Architects can anticipate the impact of code changes. The right decisions are taken early.

Since quality is checked automatically and continuously with a strong focus on recent changes, both in Visual Studio and in the DevOps, the team builds better code.

Executives gain control over costs and risks thanks to light being shed on development facts and trends that matter most.


See what professional developers are saying about CppDepend.

In general I was impressed by CppDepend. It's much easier to set up and to use than other static analysis tools I've used in the past, and the way that it presents the results of the analysis makes it really easy to make sense of the mountain of information that is generated by static analysis.

thumb Alex Darby
Founder/Director of darbotron ltd & Arch Creatives.

Using CppDepend is like climbing an observation tower and look at the work you have done in the excavation of your project and you will find astonishing details you never thought about just by changing your point of view.

thumb Martin Richter
German MVP for C++ for over 10 years.

They use CppDepend

Latest ScreenShots