Reactive Systems logo

Automated Testing and Validation with Reactis®

May 28, 2017
Newsletters
Communicator
 
Spacer
Back to Communicator Archive
To : Reactis Users
From : Reactive Systems, Inc.
    http://www.reactive-systems.com/
Date : November 18, 2015

Reactis for C V2015 Now Available


R Reactis® for C V2015 is ready for download. Reactis for C automatically generates comprehensive test suites from C code. The generated tests can help uncover and diagnose many types of runtime errors or check for conformance of code to a model (when used as part of a model-based design process).

 

Reactis for C V2015 contains new features which make it easier to construct test harnesses and allow greater control of coverage targets and error conditions. Additionally, V2015 includes support for some new language constructs, performance enhancements, and bug fixes.

If you are using a model-based design process, V2015 has new functionality to support back-to-back testing which may be used to check if a C code implementation conforms to a Simulink®/Stateflow® model as follows:

Back-to-back testing with Reactis

Reactis for C V2015 includes a number of new features that simplify back-to-back testing. Most importantly, the test harness import feature has been substantially enhanced. When working with a model in Reactis for Simulink, an .rsi file is created to store testing-related information such as the application inputs and outputs, as well as constraints on the values inputs should assume during testing. Reactis for C V2015 now offers a more robust import of the information in an .rsi file into a test harness stored in an .rsh file.

Test Harnesses

Reactis for C V2015 includes several new features which make test harnesses more flexible and customizable:

  1. The type of a test harness input or output can differ from the type of the corresponding variable in the program under test. For example, a program input whose actual type is unsigned char can read Boolean values from a test suite. This greatly expands the number of test suites which can be directly used without importing.
  2. An entire structure can be used as a test harness input or output. Previously, test harnesses required structures to be partitioned into separate elements for each field. This allows test suites which contain records to be directly used without importing. In the case of back-to-back testing, tests generated from models with top-level bus inputs can now be directly run on code with corresponding structure inputs.
  3. Coverage metric and error checking settings are no longer global but are instead saved within each harness library (.rsh file), making it possible to create test harnesses which target specific coverage metrics or error conditions.
  4. Individual targets can now be excluded from coverage tracking. For an excluded target, Tester will not attempt to exercise the target with generated tests and Simulator will not include the target in coverage reporting (including exported reports).
  5. The error tolerance can be set individually for each output in a test harness.
  6. When importing a test harness from an .rsi file, multiple prefixes can be given to match an input/output/constraint variable with a corresponding variable in the program under test.

Coverage Metrics

Reactis for C V2015 introduces two new coverage metrics:

  1. The Function metric, which tracks the functions that have been called.
  2. The Function Call metric, which tracks the function calls that have been executed.

For example, if a function f is called from two places in the program under test, one function target will be created for f and two function call targets will be created (one for each location in the source code where f is called).

Simulator

Reactis for C V2015 includes the following improvements to Simulator:

  • Reactis Simulator can be configured to handle undefined extern variables by producing an error, producing a warning, or doing nothing. In the latter two cases the undefined variable is initialized to zero.
  • Difference scopes are supported. A difference scope displays the outputs of a program and highlights the places where the program output deviates from the output value in the current test suite.

C99 Features

Reactis for C V2015 adds support for the following C99 features:

  • Variables can be declared after the first statement within a block.
  • Variables can be declared within a for statement.
  • Inconsistently bracketed initializers are allowed and processed according to C99 rules.
  • An option to always evaluate single precision floating point expressions using C99 rules (without promoting to double precision). This feature is particularly useful when testing code which will be deployed on a processor which only supports single-precision floating point.

Other Improvements

Reactis for C V2015 also includes the following miscellaneous improvements:

  • Test execution reports can be exported to XML.
  • Variables whose value is never read are highlighted in purple.
  • When building a program or library, you can choose to rebuild all files from scratch.
  • The C compiler can be configured to handle an empty structure or union definition by producing an error, producing a warning, or doing nothing.

Reactis is a registered trademark of Reactive Systems, Inc. MATLAB, Simulink, and Stateflow are registered trademarks of The MathWorks.

Best Regards,
The Reactis Team


Back to Communicator Archive
Spacer