About Us
contact us

Module-by-module metric calculations to identify where a program is likely to contain errors

Graphical displays that represent code structure and metrics rankings for easy and valuable assessment of even large systems

Static Analysis thru both GUI and Command Line Driven Automation

Allows analysis of source code that is developed or tested on any system including: client/server, web-based, host, simulator, and embedded target systems.

Database of software characteristics including metrics and flowgraphs, used as a valuable reference for future software changes and upgrades

McCabe now a Member of the Microsoft Security Development Lifecycle (SDL) Pro Network

Webinar: Uncover Software Security Vulnerabilities Off the Beaten Path

Why McCabe IQ?

Schedule a Web Demo

Quality Level Agreement

Application Note: Structured Testing - The Path to Thorough Code Coverage

NIST Publication
NIST Special Publication 500-235 ("Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric") by Thomas McCabe.

Home > Products > McCabe IQ > Developers Edition > Schedule a Demo

Measure Your Software Quality to Identify Risk

Click here for the McCabe IQ demo.McCabe IQ Developers Edition is an interactive, visual environment for managing software quality through advanced static analysis, providing a comprehensive solution to the challenges that face quality assurance and development teams.

Built on McCabe’s groundbreaking research in software quality measurement (i.e. McCabe's Cyclomatic Complexity), McCabe IQ Developers Edition delivers lower error rates, shorter testing cycles and reduced software maintenance efforts. McCabe IQ builds stability, accountability and quality into software development initiatives.

With its interactive, visual environment, you can quickly and objectively gauge the quality of your code and focus resources where they will have the greatest impact on your projects.

McCabe IQ shows you exactly where the complexity lies in your application, allowing for precise targeting of your development and testing resources.

Objective Quality Assessment - Software Metrics
McCabe IQ Developers Edition mitigates software risk by calculating insightful software metrics and thereby identifying complex and error-prone code.

These metrics include:

  • McCabe Cyclomatic Complexity
  • McCabe Essential Complexity
  • Module Design Complexity
  • Integration Complexity
  • Lines of Code
  • Halstead

A Picture is Worth a Thousand Words
While not all complex code is a negative thing, McCabe IQ Developers Edition will show you exactly where the complexity lies in your application. Detailed, color-coded structure Battlemaps, scatter plot diagrams, and flow graphs provide key points of visual communication between QA managers and developers to quickly determine the complexity of code modules.

McCabe IQ Developers Edition's Battlemap uses color coding to show you which sections of your code are simple (green), somewhat complex (yellow), and very complex (red).

Visualized Quality Improvement
McCabe IQ Developers Edition's Metric Trend Reports track a system's metric values over time to document the progress made in improving the overall stability and quality of the project.

McCabe IQ's Metric Trend reports

Customized Reporting
McCabe IQ Developers Edition's reporting features are designed to make metrics information understandable and easily accessible. The graphical, system-level reports can also be custom designed to fit specific documentation requirements. Reports can be saved to a variety of common formats.


McCabe IQ Developers Edition comes complete with the following components:


McCabe Compare
McCabe Compare helps you locate redundant code so you can either delete or reengineer it, decreasing the size of the application and your maintenance efforts. The smaller application will be more efficient, and less likely to contain errors.

The heart of McCabe Compare is a module comparison tool to locate redundant code. The module comparison tool lets you select predefined search criteria or establish your own search criteria for finding similar modules. After you select the search criteria, select the modules you want to match, and specify which programs or repositories you want to search, the module comparison tool locates the modules that are similar to the ones you want to match based on the search criteria you selected. Then you can determine if there is any redundant code. If you do find redundant code, you need to evaluate whether the code meets your needs or should be reengineered. If you decide to reengineer the modules, you may want to use the module comparison tool to compare the original modules with the restructured versions and verify that the restructured modules preserve the original modules' decision and calling structure.

McCabe Data
McCabe Data gives you the power to track data use within your programs and anticipate complexity. The parser analyzes the data declarations and parameters in your code. As a result of this analysis, McCabe Data is able to produce metrics based on data.

McCabe Data produces two kinds of data-related metrics: global data and specified data. Global data refers to those data variables that are declared as global in your code. Based on the result of the parser's data analysis, McCabe Data is able to produce reports that show you how global data variables are tied to the cyclomatic complexity of each module in your code. For the most part, as cyclomatic complexity and global data complexity increase, so does the likelihood that the code contains errors.

Specified data refers to the data variables that you specify as what is called a specified data set in the data dictionary, one of the tools in McCabe Data. In general, you specify a data set in the data dictionary when you want to locate one or more variables in your code and then analyze their association with the complexity of the modules in which they appear. McCabe Data includes a host of tools and reports to help you locate, track, and (if you are also licensed for McCabe IQ Test Edition) test code containing specified data, as well as enforce naming conventions.

McCabe Change
Use McCabe Change to identify the modules in your program that have changed since the first time you parsed your code. In other words, if you modify the code in one of your programs and then reparse it, McCabe Change can indicate which modules contain code that was changed. You can also manually reset the change status for an individual module or for all the modules in a program and use McCabe Change to report on the change status since the most recent reset.

One of the axioms of quality assurance is that as code changes it is more likely to contain errors. With McCabe Change, you can perform an initial analysis of your code that might include generating metrics reports that indicate high complexity modules. With the addition of McCabe Change, you can, at any point in the development cycle, reparse your source code and determine which modules have been modified. As you plan resources, you can allocate more resources to the areas that are both highly complex and contain changed code.



Ada, ASM86, C, C#, C++.NET, C++, COBOL, FORTRAN, JAVA, JSP, Perl, PL1, VB, VB.NET


  • Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
  • Solaris Version 8 (aka SunOS 5.8) or higher, SPARC processor, 32 bit, with Motif version 1.2 or later
  • HP-UX Version 11.11 (aka 11i) or higher, RISC processor, 32 bit, with Motif version 1.2 or later
  • AIX Version 5.3 or higher, RISC processor, 32 bit, with Motif version 1.2 or later
  • Linux RedHat Enterprise 3.0 (Taroon) or higher, x86 processor, with Motif 2.2 or later
  • Linux Ubuntu 6.06, x86 processor, with Motif 2.2 or later
  • 64 bit environments that permit running of 32 bit apps are also supported.


Register below for a live web demonstration
of McCabe IQ Developers Edition

First Name:

Last Name:
Tell us what you want to do:

How would you prefer to be contacted?

Please contact me to schedule a demonstration

I would like to subscribe to and receive periodic company news via e-mail.



Call 800-638-6316 or click here to get more information or schedule a FREE Web demo.