NDepend: A C# Static Analysis Tool


If you have a C# codebase and are looking for a tool to use to perform static analysis on it, NDepend, a proven static code analysis tool, is your most feature-rich option. Out of the box, it can show you mistakes, potential problems and code smells. But, beyond that, you can easily extend it to define your own custom code metrics and analysis baselines. NDepend can reveal anything that your codebase may be trying to hide from you.

NDepend is easy to install, easy to use, and tightly integrated with Visual Studio for a seamless user experience when analyzing your project. You’ll get an immediate, visual representation of your code’s health and structure and also the ability to monitor how it looks over the lifetime of your project. With NDepend, you can improve existing code and guard against future problems.


Download the Trial and Get Started in Less than 5 Minutes!

NDepend 14-day trial

To help us improve our service, what role do you currently fulfill? *






Optional: If you would like to get personal assistance during your trial period, please also let us know who you are:






When launching an NDepend executable file for the first time, a Windows prompt might appear to verify that you agree to run software published by our company: ZEN PROGRAM LTD.
We respect your privacy and take protecting it seriously. We will never sell, rent, lease or give away any information you provide to any third party.

* required


Key Features

Detect Dependency Cycles and Generate Reports Fast

Graph Metrics Using Treemaps to Visualize All Aspects of your Code

Generate Trend Reports on all Your Code

Find Any Errors or Problems in Your Code Base Fast

Use 82+ Metrics to Evaluate your Code

Compare Builds, Run Code Diffs

Find Any Flaws in Your Architecture

Use 200+ Code Rules and Conventions, or Add Your Own, To Evaluate Your Code

Do It All and More Right in Visual Studio


Why NDepend?

Software is taking over the world. Both the number of pieces of software in existence and our dependence on that software are growing by the day, resulting in an absolute explosion in the complexity of the code that runs our lives. Developing and statically analyzing C# code bases has never been harder. And the mounting difficulty of keeping up while delivering value puts a great deal of pressure on developers, testers, architects, and project managers.

You have a big, complicated code base to maintain and you don’t have the luxury of telling everyone to wait while you scrap what’s been done. You don’t have time to set the “tiger team” to redo it all from scratch because this time around everything will be different and you’ll do it all The Right Way. You have to live with the code base you have.

There is no shortage of tools out there that you can use to reveal a few tidbits about your code: test coverage, line count, cyclomatic complexity, etc. But revealing those tidbits is a lot like hiring a building inspector who does nothing but take a quick look and say, “it looks like it’s in bad shape.” That does about as much good as a tool telling you that you haven’t done well writing unit tests and that your classes are too complicated – if you’re in the market for a static analysis tool, you probably already know that. NDepend is the detailed report that you want.

It has a custom query language (CQLinq) that you can use to ask the questions that matter to you about your codebase. Sure, it comes with any of the aforementioned metrics and plenty more, but it allows you easily to customize them to suit your own needs and extend them to give you information no one before you has ever thought to seek. And NDepend’s powerful visualization tools let you see the answers to your questions not only in numbers and percentages, but in graphs and maps. If you’re looking to make a problem in your code big and visible so that it gets fixed, this is the ideal tool for you. No tool offers more ways that are more revealing for looking painting pictures of your application’s architecture. And NDepend is smart enough to do all of this not just at any given point in time, but over the lifetime of your project so that you can see how you’re progressing.


Browsing the code structure through fast and smooth dependency graph Comparing NUnit v2.5.8 code base with v2.5.3 Editing a Trend Chart.

"I can pretty much guarantee it'll tell you some things you didn't know about the code your team has been working on!"
Ade Miller Principal Software Architect at Microsoft Studios
"If you have the time and the inclination to improve your existing architecture you owe it to yourself to take a look at this product."
Bryan Reynolds Senior .NET Programmer ; Partner at BayTech Consulting

How Does It Work?

Trusted By the Industry

NDepend was created by developers for developers and has been a trusted tool in the C# static analysis business for over 5 years. Patrick Smacchia, founder of NDepend, has written about static code analysis and metrics in various places, but especially on codebetter.org. He has even published a few books on working in and with .NET.

       
       
       
       
       
       
       

The Competition

There are a lot of other tools out there for C# that can help with static analysis, so why choose just one? NDepend integrates with a number of tools, such as Team City and NCover, to give you even more power when analyzing your code. We believe first and foremost in good software practices: well-structured architectures, metrics awareness, and maintainable code. So we encourage you to do as much as possible to make your .NET code great, including working with other analysis utilities. By integrating NDepend into Visual Studio and with various other tools, we want you to have a complete picture of your code.

However, we know that you aren’t necessarily going to buy and integrate all possible tools on the market. When it comes time to choose, we are confident that NDepend will give you the most value for your money. The other available tools are great, but for C# static analysis, none of them has the combination of customizability, visualization and progress tracking that NDepend offers.

Scott Hanselman
"NDepend is giving me insight into my apps that I hadn't had before. Once I realized the depth and breadth of the information I was looking at, I was like a kid in a candy shop."
Scott Hanselman Program Manager at Microsoft
Jeffrey Richter
"When you have to analyze a lot of code there is no better static analysis tool than NDepend"
Andriy Buday Experienced Austrian .NET Developer