Discover amazing details
you never thought about
your C\C++ projects

Over 1000 Companies
including big fortunes use CppDepend.

Why CppDepend?

Code Rule & Code Query

Support for Code Query over LINQ (CQLinq) to easily write custom rules and query code.

Learn More >

Technical Debt Estimation

For each issue, the cost to fix and the severity are estimated through customizable C# formulas.

Learn More >

Quality Gate

Quality Gates are C# LINQ (CQLinq) queries that implement PASS/FAIL criteria to code quality.

Learn More >

DevOps: Build Process Integration

Integrate CppDepend into your build process and get highly detailed reports to see progression and prevent code quality degradation.

Learn More >

Standards

CppDepend supports out of the box the most popular C++ standards: MISRA, CERT, CWE, and HICPP.

Learn More >

Code Vizualisation

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

Learn More >

They love CppDepend

CppDepend is a great tool which helps to improve code quality. With better code, product is more stable and easier to maintain. New version improved quite a bit and it shows impact of code changes on quality. Which means that CppDepend is guiding programmer to code better.New feature of calculating code debt is also very interesting because it points out how much resources are wasted while maintaining product due breaking different rules.It is also great to see that use of CppDepend is not visually affecting performance of development environment, like some other tools do. CppDepend should be must have tool for every developer.

Zlatko Waiss
CEO & General Manager at Advansys

The analysis of my concurrency source files impressed me. I will, therefore, invest in the future more time to better understand the various metrics of CppDepend and apply them to my other source files. My gut feeling is that I can draw many benefits from CppDepend.

Rainer Grimm
Professional Author, Trainer, And Coach For C++ At Modernes C++.

We use the CppDepend to analyze the source every day. and Publish the results to the Local Web. It is also linked to Sonarqube using an additional Sonarqube plugin. CppDepend is used as the final verification of the source code. And it has helped a lot.

SungBum Shin
SoftCamp.

The ability to write own queries in CQLinq and get immediately the result presented is outstanding and make it for me the best tool for analyzing static C++ code. In general I like the continuous way of improving the product over the years by adding support for test coverage and CI stuff like sonar or jenkins. Additionally I would thank your support team, which is always very helpful and responsive.

Martin Blatt
Product Owner / Product Architect bei ETAS GmbH.

It was a great opportunity for our young students to quickly revise best practices, learn about common mistakes and improve their codebase. It also allowed them to argue for certain aspects of quality assurance in their code for the course.

Francisco Lopez Luro
Department of Creative Technologies, BTH.

In general we are happy with the functionality of CppDepend. I like especially the possibility to use the product on Windows and Linux.

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.

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

See how professionals use CppDepend

Hexagon Case Study

Hexagon uses CppDepend to identify the relationships that could be improved as well as understand the scope of modularization. CppDepend does a fantastic job showing where they can use more modern code patterns and solutions.

See Case Study
ETAS GmbH Case Study

ETAS GmbH uses CppDepend to track mainly the dependencies between their modules to be aware if there are forbidden dependencies introduced by code changes.

See Case Study

CppDepend at a Glance

Dashboards have been improved in the CppDepend UI in Visual Studio, in the generated reports section. It now contains technical debt estimations, quality gates, rules and issues data. For each data, a visual indicator shows the progression since baseline. Red and green coloured values are used to pinpoint progress or regression. Clicking any value generates a query that drills down through corresponding data, which can be a list of code elements, debt estimations, quality gates, rules or issues.

Trend charts are displayed on the CppDepend dashboard. Some trend charts are available per default to show:

  • Lines of Code
  • Number of Code Rules Violated and number of Code Rules Violations
  • Code Coverage per Tests
  • Max and Average values for various Code Quality Metrics
  • Third-Party Usage

CppDepend's DSM comes with numerous options to try:

  • It has numerous facilities to dig into dependency exploration (a parent column/row can be opened, cells can be expanded...)
  • It can deal with squared symmetric DSM and rectangular non-symmetric DSM
  • Rows and columns can be bound, to constantly have a squared symmetric matrix
  • It comes with the option Indirect usage, where cell shows direct and indirect usage
  • The rows can contain third-party code elements

A Quality Gate is a check on a code quality fact that must be enforced before releasing and eventually, before committing to source control. A Quality Gate can be seen as a PASS/FAIL criterion for software quality.

A dozen of default Quality Gates are proposed by CppDepend related to measures like technical debt amount, code coverage or amount of issues with particular severity.

Notice that special red / yellow / green losange icons shows Quality Gates status: fail / warn / pass.

CppDepend can analyze source code and C++ Projects through CppDepend.Console.exe. Each time it analyzes a code base, CppDepend yields a report that can inform you about the status of your development. You can customize sections shown in the report and you can even provide your own XSL sheet for full customization.

You can also build your own set of CQLinq constraints that will be checked at each analysis. The report will warn you each time a constraint is violated. This feature makes automatic design and quality regression test a reality.

  • Code maintainability improves. This positively impacts the productivity of development teams.
  • Over time, developers get 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.

CppDepend is the only Visual Studio extension that 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 C# LINQ queries that can be created and customized in a matter of seconds. These queries contain C# 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 is the only tool that offers a baseline in Visual Studio. 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 Visual Studio. 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.

Discover your C\C++ project Today!

Start Free Trial

CppDepend offers a wide range of features. It is often described as a Swiss Army Knife for C and C++ developers.