Reactis for C V2015 Now Available
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:
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:
- 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.
- 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.
- 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.
- 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).
- The error tolerance can be set individually for each output in a test harness.
-
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:
- The Function metric, which
tracks the functions that have been called.
- 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