...
- Basic size metrics:
- Files (number of)
- Lines
- Lines of comments
- Lines of code
- Lines of commented out code
- Static code checking via virtually any static analyser tool. And possibility of extension of their coding rules.
- Dynamic checking for memory management problems via Valgrind
- Cyclomatic (McCabe) complexity metrics including:
- Projects complexity
- Average function/method complexity
- Average file complexity
- Complexity distributions
- Code coverage metrics including:
- Line coverage
- Branch coverage
- IT line coverage
- Overall branch coverageUnit test overage (line and branch)
- Integration test coverage (line and branch)
- Overall branch coverage (line and branch)
- Unit test execution metrics including:
- Successfully executed tests
- Failed tests
- Skipped tests
- Execution time
- Recognition of code duplication
- Basic highlighting mode for C++ in Sonar UI
...
Property | Scope | Default | Example | Description |
|---|---|---|---|---|
| sonar.cxx.suffixes.sources | System- and/or project-wide | cxx,cpp,cc,c | .C,.h | Comma separated list of file name extension to be considered as C++ source files during analysis. |
| sonar.cxx.suffixes.headers | System- and/or project-wide | hxx,hpp,hh,h | Comma separated list of file name extension to be considered as C++ source files during analysis. | |
| sonar.cxx.cppcheck.reportPath | Project-wide | cppcheck-reports/cppcheck-result-*.xml | cppcheck-report-*.xml | Ant pattern describing the path to Cppcheck reports, relative to projects root. |
| sonar.cxx.cppncss.reportPath | Project-wide | cppncss-reports/cppncss-result-*.xml | cppncss-report-*.xml | Ant pattern describing the path to CppNcss reports, relative to projects root. |
| sonar.cxx.gcovr.reportPath (<0.2) | Project-wide | gcovr-reports/gcovr-result-*.xml | gcovr-report-*.xml | Ant pattern describing the path to gcovr reports, relative to projects root. |
| sonar.cxx.rats.reportPath | Project-wide | rats-reports/rats-result-*.xml | rats-report-*.xml | Ant pattern describing the path to RATS reports, relative to projects root. |
| sonar.cxx.valgrind.reportPath | Project-wide | valgrind-reports/valgrind-result-*.xml | valgrind-report-*.xml | Ant pattern describing the path to Valgrind reports, relative to projects root. |
| sonar.cxx.vera.reportPath | Project-wide | vera++-reports/vera++-result-*.xml | vera-report-*.xml | Ant pattern describing the path to Vera++ reports, relative to projects root. |
| sonar.cxx.xunit.reportPath | Project-wide | xunit-reports/xunit-result-*.xml | xunit-report-*.xml | Ant pattern describing the path to unit test execution reports, relative to projects root. |
| sonar.cxx.pclint.reportPath | Project-wide | pclint-reports/pclint-result-*.xml | pclint-result-*.xml | Ant pattern describing the path to pc-lint reports, relative to projects root. |
| sonar.cxx.externalrules.reportPath | Project-wide | externalrules-result/externalrules-result-*.xml | externalrules-result-*.xml | Ant pattern describing the path to unit test execution reports, relative to projects root. |
| sonar.cxx.xunit.xsltURL | Project-wide | cppunit-1.x-to-junit-1.0.xsl | A name of a built in XSLT-file or an URL to an external one. Available builtins:
| |
| sonar.cxx.coverage.reportPath (>=0.2) | Project-wide | coverage-reports/coverage-*.xml | coverage-*.xml | Ant pattern describing the path of unit test coverage reports, relative to projects root. |
| sonar.cxx.coverage.itReportPath (>=0.2) | Project-wide | coverage-reports/it-coverage-*.xml | it-coverage-*.xml | Ant pattern describing the path of integration test coverage reports, relative to projects root. |
| sonar.cxx.coverage.overallReportPath (>=0.2) | Project-wide | coverage-reports/overall-coverage-*.xml | overall-coverage-*.xml | Ant pattern describing the path of overall test coverage reports, relative to projects root. |
Note: Report paths are always relative to projects path.
...
Known limitations
- Some analyzers (RATS, most notably) may have issues and crash occasionally.
- Valgrind is only available on a subset of UNIX platforms.
...
Following items are in the queue (more or less...):
- Use SSLR technology
- Integrate compiler warnings
Implement the dependency analysis (package tangle index metric)
...
| JIRA Issues | ||||||||
|---|---|---|---|---|---|---|---|---|
|
| JIRA Issues | ||||||||
|---|---|---|---|---|---|---|---|---|
|

