Advertorial
Conformity with IEC 61508 for industrial automation
Parasoft's automated test solution for embedded software development in C/C++ enables companies to meet the SIL requirements of the IEC 61508 standard to ensure functional safety in industrial automation.
Electrical, electronic and programmable electronic systems perform an increasing number of safety functions. Because of the complexity of these systems, it is impossible in practice to detect all failure modes or test all behaviors. Although it is difficult to predict safety performance, testing plays a crucial role. The challenge is to design the system in such a way that dangerous failures are prevented or controlled when they occur or avoided in advance.
With increasing system complexity, software content and mechatronic implementation, the risk of systematic failures and random hardware faults increases. The IEC 61508 standard provides a guideline for reducing these risks to a tolerable level through practicable requirements and procedures. It specifies the requirements for achieving the individual safety integrity levels.
Automated software testing
Testing solutions like Parasoft for C/C++ software development automate a variety of best practices that have been proven to increase embedded software development team productivity and software quality. For example, the Parasoft C/C++test integrated software testing solution facilitates the following with its automated test functions:
- Static code analysis. Includes analysis of data flow, control flow and metrics.
- Unit testing. Create, execute, optimize and maintain unit tests.
- Code coverage. Shows which code has not been executed by tests.
- Traceability of requirements. Links requirements to tests and code.
- Detection of runtime errors. Finds memory access errors, leaks, corruption and more.
- Peer code verification. Examines algorithms, design and searches for subtle errors.
Automated code analysis for compliance monitoring
C/C++test offers a wide range of analysis methods, including analysis of compliance with programming standards. A properly implemented programming policy can exclude entire classes of programming errors by defining preventive programming conventions. C/C++test statically analyzes code to verify compliance with such policies. It has hundreds of built-in rules, including all implementations of the MISRA standards, HIS source code metrics and more. All of these rules identify potential errors caused by improper use of the C and C++ languages, enforce best programming practices, and improve code maintainability and reusability.
Identifying runtime errors without executing software
The ability to detect errors without executing the code is particularly valuable for embedded code, where detailed runtime analysis for such errors is often ineffective or not possible. C/C++test simplifies error analysis by providing a full path for each potential error in the developer's IDE. Automatic cross-references to the code help the user to quickly jump to any point in the marked analysis path.
Streamlining the code review
The Parasoft DTP Dashboard provides both developers and managers with an instant overview of compliance.
© ParasoftA code review is known to be the most effective approach to uncovering code errors. Parasoft DTP Change Explorer enables convenient analysis of source code deltas between specific milestones or points in development. Overlaying code delta information with the results of static analysis or unit tests takes the traditional code review process to a whole new level. Parasoft 's solution automatically monitors coding guidelines so that reviews focus on design, algorithms and the search for subtle errors that automated tools do not detect.
Unit and integration tests with coverage analysis
With Parasoft C/C++test, users benefit from greater efficiency when testing the correctness and reliability of newly developed and existing code. The solution automatically generates complete tests, including test drivers and test cases for individual functions, purely in C or C++ code. These tests, with or without modifications, are used for an initial validation of the functional behavior of the code.
Teams can use automatically generated and hand-written test cases to create a regression test base by capturing existing software behavior through test assertions generated by automated recording of runtime test results. As the code base evolves, C/C++test re-executes these tests and compares the current results with those of the original set.
Comprehensive reports and analyses
Customizable reports include active static analysis checks, advanced test output with pass/fail status for individual tests, trend chart parameters for key metrics, and complete code lists with color coding of all code coverage results. Developers and managers have quick access to test results within the IDE or can export them to DTP, Parasoft's reporting system.
Curious?
Want to learn more about how Parasoft can support your industrial automation software testing? Send an e-mail to [email protected].
Parasoft on social media
----------------------------------------------------------------------------------------------------------------------
"MISRA", "MISRA C" and the triangle logo are registered trademarks of The MISRA Consortium Limited. The MISRA Consortium Limited, 2021 All rights reserved.













