Section divider

Download

JAVA
C/C++
C#
Python
JS
RPG

C/C++

SourceMeter for C/C++ is a source code analysis tool able to perform the deep static source code analysis of complex C/C++ systems. SourceMeter supports C++ language defined by the ISO/IEC 14882:2011 international standard extended with several new features from ISO/IEC 14882:2014, along with C language defined by the ANSI/ISO 9899:1990, ISO/IEC 9899:1999 and ISO/IEC 9899:2011 standards. Besides standard features, several GCC and Microsoft specific extensions are supported as well. SourceMeter uses a so-called compiler wrapping technique during source code analysis, in which the analysis is performed parallel with the build process transparently, by wrapping the calls to the compiler - without the need to modify the source code or the build system. The analysis results reflect the actual build configuration of the analyzed system.

Features

Metrics

Source code metrics are used to quantify different source code characteristics. FrontEndART SourceMeter computes source code metrics for the following source code element types: components (e.g. archives), source files, packages, class types (including classes, interfaces, enums and annotations) and methods. The calculated metrics are divided into 6 categories, which are the following:Cohesion metrics measure the extent of coheresion between source code elements in the system.Complexity metrics measure the complexity of given source code elements (typically algorithms).Coupling metrics measure the amount of interdependencies between source code elements.Documentation metrics measure the amount of comments and documentation of source code elements in the system.Inheritance metrics measure the different aspects of the system's inheritance hierarchy.Size metrics measure the basic properties of the analyzed system in terms of different cardinalities (e.g. number of code lines, number of classes or methods).

Clones (code duplication)

Code cloning (or copy-paste programming) is the copying of an existing piece of source code and pasting it somewhere else while performing smaller modifications on it. FrontEndART SourceMeter is capable of identifying Type-2 clones, i.e. code fragments that are structurally identical, but may differ in variable names, literals, identifiers, etc. Clones are tracked during the source code analysis of consecutive revisions of the analyzed software system. FrontEndART SourceMeter detects suspicious, inconsistently changing code copies referred to as "clone smells".

CppCheck

FrontEndART SourceMeter incorporates Cppcheck (http://cppcheck.sourceforge.net/) for coding rule violation check and imports its results. SourceMeter also associates the issued rule violations with source code elements (i.e. functions, methods, classes, namespaces, and components) and calculates metrics for different source code elements, which represent the amount of violations of each ruleset, rule, and priority groups, respectively.

MetricsHunter

FrontEndART SourceMeter lists the source code elements which violate a certain metric threshold value as coding issues (the thresholds can be fine-tuned). This way, the riskiest elements of the code can be found immediately (e.g. the most complex algorithms).

FaultHunter

FaultHunter is the coding rule violation checker module of SourceMeter. This module makes it possible to identify common Java coding rule violations in the code (so-called bad practices) in a similar way as provided by the PMD tool. However, the algorithms implemented in the FaultHunter module work on the precise Abstract Semantic Graph of SourceMeter which results in higher precision and recall compared to other tools using rough syntactic analyzer. FaultHunter reimplements many PMD rule violation checks, reporting less noise (false positives) and a number of valid problems not detected by PMD (true negatives). It also provides additional checks that are not available in PMD.

UserDefinedMetrics

In addition to the built-in metrics, users can create their own metrics by using the UserDefinedMetrics (UDM) module. These new metrics can be established with a formula that can use any previous SourceMeter metric and can even depend on other custom user-defined metrics.

Support

The limited-level support includes technical assistance regarding the installation and operation of SourceMeter through email communication and also includes the management of reported issues within a moderate time frame and providing simple workarounds if possible. The full-level support also includes short reaction times of two working days, providing dedicated and top priortity bugfix releases for our customers in order to allow them flawless business continuity.

Free

$0/Year

Checkmark 1
Checkmark
Checkmark
Checkmark 1
X
Checkmark
X
Metrics

Source code metrics are used to quantify different source code characteristics. FrontEndART SourceMeter computes source code metrics for the following source code element types: components (e.g. archives), source files, packages, class types (including classes, interfaces, enums and annotations) and methods. The calculated metrics are divided into 6 categories, which are the following:Cohesion metrics measure the extent of coheresion between source code elements in the system.Complexity metrics measure the complexity of given source code elements (typically algorithms).Coupling metrics measure the amount of interdependencies between source code elements.Documentation metrics measure the amount of comments and documentation of source code elements in the system.Inheritance metrics measure the different aspects of the system's inheritance hierarchy.Size metrics measure the basic properties of the analyzed system in terms of different cardinalities (e.g. number of code lines, number of classes or methods).

Clones (code duplication)

Code cloning (or copy-paste programming) is the copying of an existing piece of source code and pasting it somewhere else while performing smaller modifications on it. FrontEndART SourceMeter is capable of identifying Type-2 clones, i.e. code fragments that are structurally identical, but may differ in variable names, literals, identifiers, etc. Clones are tracked during the source code analysis of consecutive revisions of the analyzed software system. FrontEndART SourceMeter detects suspicious, inconsistently changing code copies referred to as "clone smells".

CppCheck

FrontEndART SourceMeter incorporates Cppcheck (http://cppcheck.sourceforge.net/) for coding rule violation check and imports its results. SourceMeter also associates the issued rule violations with source code elements (i.e. functions, methods, classes, namespaces, and components) and calculates metrics for different source code elements, which represent the amount of violations of each ruleset, rule, and priority groups, respectively.

MetricsHunter

FrontEndART SourceMeter lists the source code elements which violate a certain metric threshold value as coding issues (the thresholds can be fine-tuned). This way, the riskiest elements of the code can be found immediately (e.g. the most complex algorithms).

FaultHunter

FaultHunter is the coding rule violation checker module of SourceMeter. This module makes it possible to identify common Java coding rule violations in the code (so-called bad practices) in a similar way as provided by the PMD tool. However, the algorithms implemented in the FaultHunter module work on the precise Abstract Semantic Graph of SourceMeter which results in higher precision and recall compared to other tools using rough syntactic analyzer. FaultHunter reimplements many PMD rule violation checks, reporting less noise (false positives) and a number of valid problems not detected by PMD (true negatives). It also provides additional checks that are not available in PMD.

UserDefinedMetrics

In addition to the built-in metrics, users can create their own metrics by using the UserDefinedMetrics (UDM) module. These new metrics can be established with a formula that can use any previous SourceMeter metric and can even depend on other custom user-defined metrics.

Support

The limited-level support includes technical assistance regarding the installation and operation of SourceMeter through email communication and also includes the management of reported issues within a moderate time frame and providing simple workarounds if possible. The full-level support also includes short reaction times of two working days, providing dedicated and top priortity bugfix releases for our customers in order to allow them flawless business continuity.

Basic

$699/Year

Checkmark
Checkmark
Checkmark
Checkmark
Checkmark 2
Checkmark
Checkmark 3
Metrics

Source code metrics are used to quantify different source code characteristics. FrontEndART SourceMeter computes source code metrics for the following source code element types: components (e.g. archives), source files, packages, class types (including classes, interfaces, enums and annotations) and methods. The calculated metrics are divided into 6 categories, which are the following:Cohesion metrics measure the extent of coheresion between source code elements in the system.Complexity metrics measure the complexity of given source code elements (typically algorithms).Coupling metrics measure the amount of interdependencies between source code elements.Documentation metrics measure the amount of comments and documentation of source code elements in the system.Inheritance metrics measure the different aspects of the system's inheritance hierarchy.Size metrics measure the basic properties of the analyzed system in terms of different cardinalities (e.g. number of code lines, number of classes or methods).

Clones (code duplication)

Code cloning (or copy-paste programming) is the copying of an existing piece of source code and pasting it somewhere else while performing smaller modifications on it. FrontEndART SourceMeter is capable of identifying Type-2 clones, i.e. code fragments that are structurally identical, but may differ in variable names, literals, identifiers, etc. Clones are tracked during the source code analysis of consecutive revisions of the analyzed software system. FrontEndART SourceMeter detects suspicious, inconsistently changing code copies referred to as "clone smells".

CppCheck

FrontEndART SourceMeter incorporates Cppcheck (http://cppcheck.sourceforge.net/) for coding rule violation check and imports its results. SourceMeter also associates the issued rule violations with source code elements (i.e. functions, methods, classes, namespaces, and components) and calculates metrics for different source code elements, which represent the amount of violations of each ruleset, rule, and priority groups, respectively.

MetricsHunter

FrontEndART SourceMeter lists the source code elements which violate a certain metric threshold value as coding issues (the thresholds can be fine-tuned). This way, the riskiest elements of the code can be found immediately (e.g. the most complex algorithms).

FaultHunter

FaultHunter is the coding rule violation checker module of SourceMeter. This module makes it possible to identify common Java coding rule violations in the code (so-called bad practices) in a similar way as provided by the PMD tool. However, the algorithms implemented in the FaultHunter module work on the precise Abstract Semantic Graph of SourceMeter which results in higher precision and recall compared to other tools using rough syntactic analyzer. FaultHunter reimplements many PMD rule violation checks, reporting less noise (false positives) and a number of valid problems not detected by PMD (true negatives). It also provides additional checks that are not available in PMD.

UserDefinedMetrics

In addition to the built-in metrics, users can create their own metrics by using the UserDefinedMetrics (UDM) module. These new metrics can be established with a formula that can use any previous SourceMeter metric and can even depend on other custom user-defined metrics.

Support

The limited-level support includes technical assistance regarding the installation and operation of SourceMeter through email communication and also includes the management of reported issues within a moderate time frame and providing simple workarounds if possible. The full-level support also includes short reaction times of two working days, providing dedicated and top priortity bugfix releases for our customers in order to allow them flawless business continuity.

Pro

$2,999/Year

Checkmark
Checkmark
Checkmark
Checkmark
Checkmark
Checkmark
Checkmark
  1. 14 out of 60 source code metrics available
  2. For systems smaller than 100.000 lines of code
  3. Limited support

Invoicing details

Information below is used for billing and contact purposes only.

Selected packages

Free JAVA

Free C/C++

Free C#

Free Python

Free JS

Free RPG

$0

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.