Software in a box

ccm (updated October 2012)

ccm is a tool that analyzes c/c++, c#, javascript and TypeScript code and reports back on Cyclomatic Complexity, a metric introduced by Thomas McCabe back in the mid 70's.

This metric states the number of independent linear paths through a unit of code and is useful to determine how complex the unit of code is (for this particular tool, a unit is a function or a method).

Complex code is often hard to maintain and extend, so keeping an eye on cyclomatic complexity can pay off.

Highlights

  • Analyzes java-script, TypeScript, c, c++ and c# code (*.js, *.cs, *.ts, *.c, *.cpp, *.h, *.hpp)
  • Works on both managed and unmanaged code
  • Command line version can output into xml, allowing easy integration with your build pipelines and Continuous Integration software
  • Visual Studio 2008/2010/2012 integration
  • Command line version runs under mono on both Linux and Mac OS X

Visual Studio Integration

ccm integrates with Vistual Studio 2008, 2010 and 2012. A new tool window, Cyclomatic Complexity, can be opened from the Tools menu.

Download

Download version 1.1.6 for Windows XP and later: vsCCM.

Source code

Available here: http://github.com/jonasblunck/ccm

License

Provided free of charge, no licenses required or needed.