Reactive Systems logo

Automated Testing and Validation with Reactis®

March 29, 2017

Reactis and the Reactis for C Plugin

Model-Based Design with Simulink and Stateflow

Model-Based Testing and Validation with Reactis

This 9-minute video presents a brief overview how the Reactis automatic test generation tool may be used to validate Simulink models of embedded software and to test for conformance of Simulink models to code. 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 (S-Functions and Stateflow® custom code).

Testing C Code in Simulink Models Using the Reactis for C Plugin

This 8-minute video describes how to test the C code in Simulink models with the Reactis for C Plugin. The Reactis for C Plugin integrates seamlessly with Reactis to offer white-box testing of the C code portions of models (S-Functions and Stateflow custom C code). The automatic generation of comprehensive tests from C code lets you easily uncover a variety of runtime errors including memory errors, overflows, and divide-by-zeros. When an error is detected, you can replay a concrete execution sequence leading to the problem in order to understand, diagnose, and fix the bug. Reactis Simulator offers an advanced debug environment that offers coverage tracking (Statement, Decision, Condition, and MC/DC), data value tracking (with scopes, watched variables, and hovering), and even reverse execution.

Navigating Models with Reactis

This 1-minute video highlights some model navigation features of Reactis including the following:

  1. Reactis launches quickly, which is useful if you need to just have a quick look at something in a model.
  2. Signal highlighting makes it easy to track signals through complex models.
  3. Hovering over a subsystem in the hierarchy panel highlights the subsystem in the main panel.
  4. When moving to a parent subsystem, the child you are moving up from is highlighted.
  5. Hover over any Goto/From or Data Store Read/Write/Memory block to highlight matching blocks.
  6. Double-click on a Goto/From or Data Store Read/Write/Memory block to see list of matching blocks throughout model. Double-click on items in the list to highlight the block in the model.

Reactis for C

Advanced Testing and Validation for a C Code Process

Finding Bugs in C Code with Reactis for C

This 19-minute video demonstrates how Reactis for C can help you uncover, diagnose, and fix bugs in your C code. Reactis Tester automatically generates tests from C code and in the process can uncover a variety of different types of runtime errors that are very common in C code such as memory errors or overflows. When an error is detected the scenario leading to the problem can be replayed in Reactis Simulator, an advanced debug environment. Reactis Validator lets you formulate requirements of your program as assertions and then perform an automated search for violations.