Want to see Parasoft in action? Sign up for our Monthly Demos! See Demos & Events >>
Parasoft’s solution for functional safety enables organizations to meet the testing and software quality requirements stemming from standards documents such as ISO 26262, EN 50128, IEC 61508, and DO-178B/C. Parasoft enables teams to automate the testing practices and software qualification process mandated by these standards, and dramatically reduces the intensive manual effort that is otherwise necessary.
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 code analyzers 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.
“MISRA”, “MISRA C” and the triangle logo are registered trademarks of The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. All rights reserved.
Unit testing is required to demonstrate that low-level software requirements were correctly implemented. With unit testing test cases, 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.
The comprehensiveness of Parasoft C/C++test translates into increased developer efficiency when developing applications with functional safety requirements. Developers can focus on their core activities without having to learn, integrate, and qualify several tools. Tool integrators or architects don’t have to spend time implementing interfaces between tools for exchanging data and generating uniform reports. Instead, they get all of it from Parasoft out of the box.
When performing unit testing or runtime memory monitoring, all components required to build the test binary, including the test cases for tested code stimulation and stubs, are expressed in the form of source code and can be versioned and inspected. This approach is superior to other tools in which the stimulation for tested code is sent at runtime from the host and requires additional conversions before assigning to the variables in memory. C/C++test removes this unnecessary layer and assures that the state of the memory before executing tests is constructed in the same way as in the production systems.
Parasoft provides team-wide data integration, convenient reporting customized to different coding standards, and advanced analytics through Parasoft’s award-winning Process Intelligence Engine. Users benefit from the ability to aggregate information across multiple different sources (such as source code or requirements management systems, testing tools, or ALMs) for unique data analytics, helping focus efforts in the most productive way. Teams can increase productivity by monitoring trends in the development process, and easily generate reports that comply with industry standards such as “MISRA Compliance: 2016”.