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.
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).
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".
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.
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 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.
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.
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
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).
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".
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.
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 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.
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.
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
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).
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".
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.
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 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.
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.
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
Information below is used for billing and contact purposes only.