Reactis for C V2015 Now Available
Cary, NC (November 18, 2015) -- Reactis® for C V2015, the
third major release of the tool, is now available 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/outputs can now be directly run on code with corresponding
structure inputs/outputs.
- 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.
About Reactive Systems. Reactive Systems, founded in
1999, is a software testing and validation company with offices
in Cary, NC and Nagoya, Japan. For more information about
Reactive Systems visit www.reactive-systems.com or call
+1-919-324-3507.
Reactis is a registered trademark of Reactive Systems, Inc.
MATLAB, Simulink, and Stateflow are registered trademarks of The MathWorks.