Unnecessary complex code is often the reason for bad code
quality and erroneous programs.
Complex code is difficult to test and to maintain.
As the costs of bad quality and erroneous programs can be very
high, even crucial to a company, applications with a reasonable
complexity helps you to save money.
What is measured by Testwell CMT++/CMTJava ?
Based on the static properties of the program code CMT++ and
CMTJava gives estimates how error prone the program source code is
due to its complexity, how long it will take to understand the
code, what is the logical volume of the code, etc ...
As the project team has not usually time to inspect all the code
produced by the project, CMT++/CMTJava can assist in locating the
modules, which are most likely to cause problems in the future.
Testwell CMT++ and Testwell CMTJava analyses your applications
for the following metrics :
a) Lines-of-code (LOC) metrics
||number of blanc lines
||number of lines with comments
||number of physical lines
||number of lines with program code
b) Halstead's metrics
information about Halstead metrics
||estimated number of errors
||difficulty level, error proneness
||effort to implement
||program level (abstraction level of the
||number of operators
||number of operands
||vocabulary size (unique operators + unique
||number of unique operators
||number of unique operands
||implementation time / time to understand
||volume: size of the implementation of an
c) McCabe cyclomatic number v(G)
Cyclomatic number v(G) describes the complexity of the control flow
of a program.
information about McCabe metrics
d) Maintainability Index
Maintainability Index is calculated with certain formulae from
lines-of-code measures, McCabe measures and Halstead measures.
The measurment and track maintainability are intended to help
reduce or reverse a system's tendency toward "code entropy" or
degraded integrity, and to indicate when it becomes cheaper and
less risky to rewrite the code instead to change it.
information about Mainainability Index
Testwell CMT++ and CMTJava alarm limits can be customized
The alarm limites given by default are common suggestions, based on
measurements on code maintained with good success.
Testwell complexity measures tools uses metrics established in
reasearch projects during several years in the USA (Software
Engineering Institute of Carnegie Mellon University).
The metrics used by CMT++ and CMTJava are industrial standards.
As it is not possible to give absolute limits to acceptable values,
Testwell complexity measures tools allows you to customise the
alarm limit definitions of the software metrics in the
configuration file for your projects specific needs.
Testwell CMT++/CMTJava Highlights :
- mesures original non-pre-processed files
- extremely fast -> analyses your applications in a couple of
- can handle many/big files
- HTML or texual reporting -> measurements can be further
processed by Excel
- GUI integration in Visual C++ Developer Studio
- Available on many platforms: Windows, Linux, HP, Solaris
Verybench: Front End with Several Graphical Views
Verybench is a graphical user interface for the code complexity
measuring tool Testwell CMT++.
It enables managers, developers as well as quality and test
engineers to colaborate easier on and to contribute easier to
source code quality. It accelerates the way metrics are understood
by an entire development team and not just by single individuals
involved in improving the quality of a software.
Verybench comes with two kinds of main views: the Dashboard
Views and the Metrics Views.
Further information: Verybench
presentation (24 Slides, 900 KB)
Presentation (50 Slides,
News about CMT++/CMTJava
technical product description Testwell CMT++ (Link to
technical product description Testwell CMTJava (Link to
last updated: 22 July 2013
© 2005-2013 Verifysoft Technology GmbH
Testwell CTA++, Testwell CTC++, Testwell CMT++ and CMTJava are
products and trademarks of Verifysoft Technology GmbH, Offenburg
Verybench is a product of Verifysoft Technology GmbH
all other trademarks of this site are the property of their