Testwell CMT++/CMTJava
Code Complexity Measures Tool for C, C++ / Java
Why Code Complexity Analysis ?
- Code complexity correlates with the defect rate and robustness of the application
- Complex code is difficult to test -> more errors in the final application
- Complex code is difficult to maintain
|
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
| |
LOCbl |
number of blanc lines |
| |
LOCcom |
number of lines with comments |
| |
LOCphy |
number of physical lines |
| |
LOCpro |
number of lines with program code |
further information
b) Halstead's metrics
| |
B |
estimated number of errors |
| |
D |
difficulty level, error proneness |
| |
E |
effort to implement |
| |
L |
program level (abstraction level of the program) |
| |
N |
program length |
| |
N1 |
number of operators |
| |
N2 |
numbre of operands |
| |
n |
vocabulary size (unique operators + unique operands |
| |
n1 |
number of unique operators |
| |
n2 |
number of unique operands |
| |
T |
implementation time / time to understand |
| |
V |
volume: size of the implementation of an algorithm |
further information
about Halstead metrics
c) McCabe cyclomatic number v(G)
Cyclomatic number v(G) describes the complexity of the control flow of a program.
further 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.
further 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 minutes
- 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 front end which obtains key figures from analyses of
the Testwell Code Complexity Measures Tools for visually presentation of the results.
Since every user group which is involved in software quality assurance (QA)
needs to focus on different information and needs to perform several different operations
on the data provided by Verybench, this graphical front end
has four default views suited to individual needs of typical user groups:
management view, development view, review view, and controlling view.
Further information: Verybench
|
Further Information
News about CMT++/CMTJava
Product Presentation (17 slides)
technical product description Testwell CMT++ (Link to www.testwell.fi)
technical product description Testwell CMTJava (Link to www.testwell.fi)
Visual Studio Integration
request your free evaluation now
|
last updated: 20.11.2009
© 2005-2009 Verifysoft Technology GmbH
CTA++, CTC++, CMT++ and CMTJava are products of Testwell Oy, Tampere (Finland)
Veribench is a product of Verifysoft Technology GmbH
all other trademarks of this site are the property of their respective owners.