ASTQ Summit is live Nov 4! Hear industry leaders share how they're delivering continuous quality. Register Now »

X
C/C++ Reporting & Analytics

Reporting & Analytics

Powered by Parasoft DTP

Flexible and Dynamic Reporting and Analytics for C/C++ Software Testing

Parasoft’s extensive reporting capabilities bring the results of Parasoft C/C++test into context. Test results can be quickly accessed within the IDE or exported into Parasoft’s web-based reporting system DTP.  In DTP reports can be automatically generated as part of CI builds and printed for code audits in safety-critical organizations, and results from across builds can be aggregated (giving the team a detailed view without requiring access to the code within their IDE). In the reporting dashboard, Parasoft’s Process Intelligence Engine helps managers understand the quality of a project over time, illustrating the impact of change after each new code change, and integrating with the overall toolchain and providing advanced analytics that pinpoint areas of risk.

 

 

How Does It Work?

Parasoft C/C++test helps teams efficiently understand results from software testing by reporting and analyzing results in multiple ways.

Directly in the developer’s IDE, users can view:

  • Static analysis findings (warnings and coding standard violations)
  • Unit testing details (passed/failed assertions, exceptions with stack traces, info/debug messages)
  • Runtime analysis failures (with allocation stack traces)
  • Code coverage details (percentage values, code highlights, including coverage-test case correlation)

From Parasoft’s centralized reporting dashboard, users can view all of the above plus the additional:

  • Aggregated visual reporting of the entire project status through dynamic dashboards with customizable reporting widgets
  • Deep-dive information from each dashboard element
  • Granular filtering and advanced analytics
  • File and source code access with traces for unit test results and static analysis warning and coding standard violations
  • Report generation and compliance evaluation

DTP Preconfigured Compliance Reporting

The Quality Tasks view in the IDE makes it easy for developers to sort and filter the results (i.e. group per file, per rule, per project, etc.). Developers can make annotations directly in the source code editors to correlate issues with the source code, and for better understanding the context of reported issues and how to apply a fix. Code coverage information is presented as visual highlights displaying directing the code editors, together with percentage values (for project, file, and function) in a dedicated Coverage view.

Analysis results for both IDE and command line workflows can also be exported to standard HTML and PDF reports, for local reporting. For safety-critical software development, C/C++test provides an additional dedicated report format that provides details about unit test case configuration and the log of results from test execution, so the user has a complete report of how the test case was constructed and what happened during runtime.

For team collaboration, C/C++test publishes analysis results to DTP, a centralized server, so developers can access test results from automated runs and project managers can quickly assess the quality of the project. Reported results (static analysis findings, metric analysis details, unit testing details, code coverage details, and source code details) are stored with a build identifier, for full traceability between the results and the build.

Features

Parasoft C/C++test provides dedicated views and source code annotations/markers directly in the IDE (Eclipse, Visual Studio Code), so developers can access results from C/C++test (i.e. static analysis violations, unit testing failures, code coverage information) without leaving the IDE to efficiently analyze results, apply corrections, and re-execute tests quickly.

When integrating into CI/CD workflows, Parasoft users benefit from a centralized and flexible web-based interface for browsing results. The dynamic, web-based reporting dashboard includes customizable reporting widgets, source code navigation, advanced filtering, and advanced analytics from Parasoft’s Process Intelligence Engine. Users can access historical data and trends, apply baselining and test impact analysis, as well as integrate with external systems (e.g. for test-requirements traceability).

For each and every test performed, including manual, system level or UI-based, tests are recorded for not just test/fail and results but also their coverage impact on the code base. Each additional test is overlaid on this existing information, creating a complete picture of test success and coverage. As code is changed, the impact is clearly visible on the underlying record, highlighting tests that now fail or code that is now untested. Raising this information in various degrees of detail allows developers and testers to quickly identify what needs to be altered/fixed for the next test run.

In addition to change impact analysis, static analysis can be used to highlight areas of the code that appear more risky than others. Risk can take the form of highly complex code, or an unusually high number of coding standard violations or a high number of reported static analysis warnings. These are areas of code that may require additional test coverage and even refactoring.

Parasoft C/C++test provides specific reporting capabilities suited to functional-safety development, for example the following reports:

  • Unit Testing Execution Details Tests to Requirements Traceability
  • Test to Code Coverage Traceability

Industry-specific Compliance Packs provide a dedicated, standard-driven report template to help teams comply with industry standards and provide automatically-generated reports required for code audits.

Benefit from the Parasoft Approach

Manage compliance with efficiency, visibility, and ease

Instead of just providing static analysis checkers with basic reporting and trends visualization, Parasoft’s solution for coding standards compliance provides a complete framework for building a stable and sustainable compliance process. In addition to standard reporting, Parasoft provides a dedicated compliance reporting module that gives users a dynamic view into the compliance process. Users can see results grouped according to categorizations from the original coding standard, manage the deviations process, and generate compliance documents required for code audits and certification as defined by the MISRA Compliance:2016 specification.

Reduce the overhead of testing

With a unified reporting framework, Parasoft C/C++test efficiently provides multiple testing methodologies required by the functional safety standards including static analysis, unit testing, and code coverage. Consistent reporting, cumulatively presenting results from the multiple testing techniques, reduce the overhead of testing activities and simplify code audits and the certification process, eliminating the need for users to manually process reportings to build documentation for the certification process. Focus testing effort to where it’s needed by eliminating extraneous testing and guesswork from test management. Reduce the costs of testing while improving test outcomes with better tests, more coverage, and streamlined test execution. With Parasoft, you can minimize the impact of changes by efficiently managing the change itself.

Pinpoint priority and risk between new and legacy code

Parasoft’s Process Intelligence Engine enables users to look at the changes between two builds, to understand, for example, the level of code coverage or static analysis violations on the code that has been modified between development iterations, different releases, or an incremental development step from the baseline set on the legacy code. Teams can converge on better quality over time by not only improving test coverage but by reducing the potential risky code. The technical debt due to untested code, missed coding guidelines and potential bugs and security vulnerabilities can be reduced gradually build by build. Using the information provided by Parasoft tools, teams can focus in on the riskiest code for better testing and maintenance.