Featured On-Demand Webinar: Accelerate Software Compliance With AI Watch Now >>
Functional safety standards such as IEC 61508 and its derivatives require organizations to prove that the software and safety requirements are met and fully tested. For over 30 years, Parasoft has been helping organizations follow such standards through required best practices like unit testing, test coverage, software metrics, traceability, and static code analysis with built-in support for MISRA, CERT, and other automation industry coding standards.
Parasoft’s integrated tool suite provides teams with a practical way to prevent, expose, and correct errors in order to ensure that their C and C++ code works as expected and complies with requirements. To promote rapid remediation, each problem detected is prioritized based on configurable severity assignments, automatically assigned to the developer who wrote the related code, and distributed to his or her IDE with direct links to the problematic code and a description of how to fix it. For embedded and cross-platform development, you can use C/C++test in both host-based and target-based code analysis and test flows.
Parasoft C/C++test helps industrial automation software development teams satisfy the software development and verification process requirements defined by the IEC 61508 standard. When results of the broad range of testing and code analysis types automated through C/C++test are processed, intelligent analytics are reported that significantly reduce the work required for software verification.
Parasoft C/C++test helps organizations achieve code compliance with coding standards to improve code quality, with the largest number of built-in checkers (rules) on the market for verifying compliance with standards like MISRA C 2023, MISRA C 2012, MISRA C++ 2008, AUTOSAR C++14, HIC++, and more.
For achieving secure coding best practices and security code compliance, Parasoft C/C++test provides the most comprehensive support for built-in checkers that verify compliance with security standards like CERT C, CERT C++, UL 2900, CWE, and more.
“MISRA”, “MISRA C” and the triangle logo are registered trademarks of The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. All rights reserved.
Parasoft minimizes the cost of the coding standards compliance process by providing dedicated reporting. Compliance reporting gives the user a dynamic view into the compliance process, helping prioritize results of static analysis violations according to groupings and categorizations from the original coding standard.
Compliance documentation is necessary for proving compliance. Generating it automatically saves teams valuable time when the generated reports and documentation comply with the MISRA 2020 standard, which is very popular across automation industries.
Parasoft C/C++test detects complex runtime-like problems early in the development stage by analyzing execution paths through the code and finding potential bugs. In addition to 2500+ rules and checkers, Parasoft makes it easy for teams to verify organization-specific coding guidelines with a special editor for creating custom checkers to extend (or replace) the built-in rules provided with the tool. With Parasoft C/C++test, users don’t have to write any scripts, and organization-specific coding guidelines can be fully automated to replace the manual process of compliance verification.
Parasoft C/C++test’s convenient views and graphical editors reduce the manual effort of unit test case creation and maintenance with a unit testing framework designed with safety-critical software testing in mind. Stubs and test cases with values for tested software’s stimulation can be created as a source code or with graphical editors with source code generation capabilities. Users can store and review created test artifacts together with the project’s files. The initialization of the variables and input parameters for tested software stimulation is done in exactly the same way as during production software operation, making the method reliable and robust.
Unit testing is much easier and productive if used together with a stubbing/mocking framework. Parasoft C/C++test’s powerful module for creating stubs and mocks help in fault injection testing, reduce dependencies of the tested code, and enable users to easily stub out not yet implemented source code.
Parasoft C/C++test supports all the coverage metrics typically required when developing safety-critical software (statement, branch, MC/DC, function, call, path, simple condition, line, and block), displaying code coverage results from all levels of testing, including unit, integration, and system level testing.
C/C++test reduces the time required to analyze coverage results and find the gaps in the testing process. Developers can review code coverage results inside the IDE with dynamic views and filter the results depending on metric, function/method, or specific test case.
Parasoft integrates with requirements management systems to provide traceability reports that display the correlation between requirements and the following:
Traceability reports provide clear and complete information about the development progress. Teams can easily determine how many requirements were already implemented and how thoroughly they are tested.
Parasoft C/C++test can be integrated with model-based development tools like Matlab/Simulink or IBM Rational Rhapsody, verifying the source code generated from the models for compliance with the coding standards and performing dynamic validation using data sets from the simulation engines, and then presenting code coverage results.
Parasoft C/C++test is certified by TÜV SÜD as suitable for use when developing safety critical software with the IEC 61508 standard. For projects with a higher level of risk, Parasoft C/C++test’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.
A dedicated Qualification Support Tool guides users through all of the steps required to qualify the tool, automating the majority of the tedious manual work required to qualify the tool, including executing the test cases from the exhaustive test suite provided together with the Qualification Kit, and generation of the final reports required to document the qualification process.
Reduce the cost of developing high-quality software without sacrificing time to market.
Parasoft C/C++test satisfies multiple software testing requirements enumerated in IEC 61508. The comprehensiveness of the solution translates into lower learning and setup effort. Developers don’t have to learn several tools and can focus on their core activities. Tool integrators or architects save time otherwise spent implementing interfaces between tools to exchange data and generate uniform reports.
Parasoft C/C++test is designed with safety-critical applications in mind. 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 the source code and can be versioned and inspected. By expressing all testing artifacts in the form of the source code, C/C++test ensures that the state of the memory before executing tests is constructed in the same way as in the production system.
Parasoft C/C++test is supported with a dedicated IEC 61508 qualification kit that complies with standard requirements for the tool qualification process. Instead of just providing qualification assistance in the form of the collection of test cases and templates for scripts and reports which require a lot of customization, Parasoft’s automated Qualification Support Tool guides users through all of the steps required to qualify the tool, and automates the majority of the tedious manual work required to qualify the tool. This includes executing the test cases from the exhaustive test suite provided, as well as generating the final reports required to document the qualification process.