Functional safety standards mandate numerous testing practices for the software verification and validation process. Implementing the V&V process in accordance with safety functions can pose a significant challenge due to the number of different testing technologies that need to be orchestrated, so Parasoft C/C++test simplifies this requirement by providing everything you need to test your C and C++ code in one integrated, TÜV SÜD-certified solution.
Parasoft’s solution for safety-critical software provides a unique combination of features that help users address all main testing requirements imposed by safety functions with minimal effort. Instead of spending resources implementing, integrating, and maintaining independent solutions, Parasoft users can spend more time delivering safe and high-quality projects.
For example, Parasoft C/C++test enables developers to perform static code analysis for various coding standards (such as MISRA, CERT, AUTOSAR, CWE, JSF, and more), unit testing and systems level testing with fault injection, and code coverage monitoring (statement, branch, MC/DC, call, and so on), without leaving their IDE. Testing results can be reviewed immediately inside the user’s development environment or on a centralized reporting dashboard, where advanced analytics are performed on the aggregated test data.
Parasoft C/C++test includes dedicated integrations with leading embedded hardware and software development environments, such as Arm Development Studio, TI Code Composer, Wind River Workbench, Green Hills Software Multi, and many others. These integrations support the execution of tests on target hardware or simulators to increase reliability and fidelity of testing results, which is required for compliance with functional safety integrity levels and standards.
Parasoft greatly reduces the risk and effort required for tool qualification. In addition to being able to apply the TÜV certification (when applicable), users benefit from extra automation in performing the tool qualification process, using Parasoft’s dedicated Qualification Kits, which guide users through all important steps of the procedure and automates most of the tedious manual work that is typically required.
Parasoft C/C++test provides support for a broad range of testing methodologies required to achieve compliance with safety standards. Whether this is static code analysis, unit testing, code coverage, or fault injection testing, it can all be satisfied with Parasoft C/C++test.
Static analysis is directly or indirectly required by all software safety standards to assure that source code is free from defects and code constructs that bring a high risk of undefined behavior. Parasoft provides pre-configured Compliance Packs, so you can get a preconfigured set of static analysis checkers for the coding guidelines you need (such as MISRA, JSF, AUTOSAR, CERT C/C++, CWE, UL 2900, and HIC++). You also get dedicated reporting that displays your static analysis results according to the specific categorizations and grouping defined by the standard you’re using, along with automatically generated reports needed for audits.
Unit testing is required to demonstrate that low-level software requirements were correctly implemented. With unit testing, it’s much easier to focus on a small unit of the source code, such as function or method, and create a set of test cases that demonstrate that all essential requirements for this software component were correctly implemented.
Code coverage demonstrates the completeness of unit, integration, and systems-level testing. Standards require different types of coverage metrics depending on the risk level associated with the projects. Parasoft supports all required metrics, from statement, line, function, call, and branch, to the most complex MC/DC. The integration between coverage tools and unit testing framework enables developers to quickly find the gaps in their testing process and improve their test suites, to improve productivity and eliminate frustration in development.
Reporting is essential for organizations to document that all testing practices were performed to the required level. Parasoft’s comprehensive reporting systems help you generate clear and detailed reports that are easy to analyze by development teams and external organizations that audit the development process.
Parasoft Compliance Packs provide dynamic, industry-specific dashboards and widgets that increase visibility into the compliance progress and automatically generate compliance documentation that adheres to categorizations of the specific coding standard you’re using. Detailed unit testing reports provide complete information about executed test cases, which include stub configuration and status of executed assertions. The reports enable reviewers to understand the testing status without looking into the source code.
Requirements traceability is required by functional safety standards to demonstrate that all requirements were implemented and covered with tests, and that the level of testing corresponds with the risk level (SIL, ASIL, SL) associated with the given software component. By integrating tightly with requirements management systems (RMS), Parasoft enables users to automatically generate reports demonstrating testing results in the context of requirements.
Tool qualification is a mandatory process required by functional safety standards, for all tools that contribute to the safety-critical product or that automate or eliminate a verification activity. Tool qualification requirements depend on the specific standard and risk level associated with the project. In many situations, a TÜV certification is sufficient. In case of projects with higher levels of risk, users can use Parasoft’s Tool Qualification Kit.
TÜV SÜD certification for projects with lower level of risk (such as ASIL A/B, SIL 1/2): Parasoft C/C++test is certified by TÜV SÜD as suitable for use when developing safety-critical systems. This certification complies with tool qualification requirements from functional safety standards such as ISO 26262 or IEC 61508. TÜV certification simplifies the process of tool implementation for projects with a lower level of risk.
Tool qualification kits for projects with higher level of risk (such as ASIL D, SIL 4, SL A): Parasoft’s Qualification Kit automates a significant part of the tool qualification process, reducing the amount of manual work and eliminating this distraction from software teams. Parasoft C/C++test is supported with a dedicated qualification kit that complies with functional safety standards requirements for tool qualification. Out of the box, Parasoft’s tool qualification kit supports the following standards: ISO 26262, IEC 61508, DO 178B/C, DO 330, and EN50128 with derivatives. A unique dedicated Qualification Support Tool guides users through all the steps required to qualify the tool and automates the majority of tedious manual work required to qualify the tool, including executing the test cases from the exhaustive test suite provided together with the Qualification Kit.