This white paper discusses how the Reactis automatic test generation tool may be used to validate Simulink models of embedded control software and to test for conformance of code to Simulink models.
Reactis Tester automatically generates test cases that stress the model. The test generation often uncovers run-time errors in Simulink models. The generated tests aim to maximize coverage with respect to a number of test coverage metrics including Modified Condition/Decision Coverage (MC/DC).
Reactis Simulator is a simulation environment for Simulink models that enables the user to execute and debug models and to track coverage during test execution.
Reactis Validator enables an engineer to formalize model requirements as assertions and perform an automatic check for requirement violations. Validator performs these checks by thoroughly simulating the model with the goal of violating assertions. When an assertion fails, Validator returns a test that highlights the problem.
Test suites generated by Reactis serve as a testing oracle to determine if source code conforms to the behavior of a Simulink model. The Reactis for C Plugin integrates seamlessly with Reactis to offer white-box testing for the C code portions of models (C Caller blocks, S-Functions, and Stateflow® custom code). Similarly the Reactis for EML Plugin offers white-box testing of Embedded MATLAB within a model.
Read Testing and Validation of Simulink Models with Reactis
The automated testing and validation capabilities of the Reactis tool suite significantly improve the gains realized from a model-based design process. Reactis can successfully test, simulate, and debug discrete-time Simulink models. Combined with Reactis for C, Reactis also provides a robust test-generation and debugging capability for C code, and for performing back-to-back tests of models vs. code. Jenkins is a popular open-source automation server which is used to build and test software systems. This white paper describes the steps necessary to use Reactis within a Jenkins-controlled build and test process.
Read Automated Testing with Reactis and Jenkins
The automated testing and validation capability of the Reactis tool suite significantly enhances the gains realized from a model-based design process. Reactis can successfully test, simulate, and debug models created using the dSPACE TargetLink® block set. Reactis for C provides a robust test-generation and debugging capability for TargetLink-generated C code.
This document describes the steps necessary to configure Reactis and TargetLink models for test generation, simulation, and debug and for the execution and validation of automatically-generated C code.
Read Using Reactis with TargetLink Models and TargetLink-Generated Code
The Reactis Safety Manual discusses how Reactis, an automated testing and validation tool, may be used to comply with the ISO 26262 standard. The standard prescribes a system of steps to manage the functional safety of automotive electronics. Part 6 (ISO 26262-6) addresses product development at the software level and is the focus of this paper.
When using a model-based design process employing MATLAB/Simulink/Stateflow, Reactis automates a number of the verification activities mandated by ISO 26262. Reactis offers a number of model navigation capabilities that facilitate design walk-throughs and inspections at both the architectural and unit levels. The Reactis Validator component lets you formalize safety requirements as assertions and then check for violations using semi-formal verification. These checks can be performed on both architectural design models and unit design models. Reactis Tester can automatically generate test suites that aim to maximize statement, branch, and modified condition/decision (MC/DC) coverage. Finally, Reactis offers extensive support for back-to-back testing (in which the behavior of code is compared to the behavior of a model).
Read Reactis Safety Manual.
Automotive SPICE is a standard that defines processes for system, hardware, and software engineering, as well as other supporting processes. The processes lay out best practices for developing automotive applications. Automotive SPICE also defines a framework for assessing how well an organization implements the Automotive SPICE processes.
This white paper gives an overview of the software engineering processes of Automotive Spice and describes how Reactis supports these processes. Many organizations adopting Automotive SPICE use model-based design with Simulink and represent the software architectural design and the detailed design as Simulink models. In this case Reactis offers support for many verification measures of the different processes. During the creation of architectural or design models, Reactis supports model-in-the-loop (MIL) testing to both ensure that the model is free of runtime errors and to check that the model satisfies the software requirements. For the Software Unit Verification process and the Software Component Verification and Integration Verification process, Reactis supports back-to-back testing in order to check whether the C code implementation of a software unit or component conforms to the corresponding model. Structural coverage is tracked at both the model and code level.
Read Reactis Support for Automotive Spice.
This white paper discusses how the automatic test generation tool Reactis for C may be used to find bugs in C programs. Reactis Tester automatically generates test cases that stress a program, often uncovering run-time errors. The generated tests aim to maximize coverage with respect to a number of test coverage metrics including Statement, Decision, Condition and Modified Condition/Decision Coverage (MC/DC).
Reactis Simulator is a simulation environment for C programs that enables the user to execute and debug programs and to track coverage during test execution.
Reactis Validator enables an engineer to formalize application requirements as assertions and perform an automatic check for requirement violations. Validator performs these checks by thoroughly simulating the model with the goal of violating assertions. When an assertion fails (or a runtime error is detected), Validator returns a test that may be run in Simulator to replay a concrete execution sequence leading to the problem in order to understand, diagnose, and fix the bug.