April 10, 2014
Dear Reactis User:
We are pleased to announce the availability of Reactis for C V2014.
Reactis for C V2014
V2014 includes the following new features and enhancements.
Build Files and Harnesses
- C structures can now be used in test harnesses. Each individual
field of a structure can be selected to serve as a harness input or
output. Structure fields are accessed using standard C syntax and
automatically appear in the lists of harness input/output candidates
in the Reactis Harness Editor.
- It is now possible to create a new harness by importing the input/output
information stored in an .rsi file created by Reactis for Simulink.
- A new stub generator produces a source file that contains definitions
of missing functions and variables.
- The Reactis Build File Editor now allows the use of libraries which
have been pre-compiled by Reactis, for cases where testing of the
library source code is not desired. This allows for faster load
times and does not require the source code to be available after the
the library has been compiled by Reactis.
- Build button. The Reactis Build File Editor now includes a Build
button, which lets you build a library or executable without leaving the
- Reverse stepping a statement at a time through source code is now
supported. This feature is particularly useful when execution is
interrupted by an error, as it allows you to inspect values as you move
backward through a program to the root cause of an error.
- HTML report documenting simulation run. A new menu item
Fast Run With Report
will run the currently loaded test
suite and generate an HTML report detailing any errors encountered during
simulation as well as differences seen between the output values stored
in the test suite and those computed by the executing C code. The report
also includes function call counts and the maximum recursive depth
reached by each function.
- Back up directly from within a mini-step. The "back" button is now
available while in a mini-step. Clicking it returns the simulation
to the beginning of the currently executing step.
- Simulation run can now be paused within a step. Previously, clicking
the "pause" button during a regular (not fast) simulation run would
finish the current simulation step before pausing. This could take a
significant amount of time when simulating large programs.
Reactis for C V2014 pauses immediately at the current mini-step
- When exporting a test suite to CSV format or importing from CSV
format, there are several new options for configuring the format of the
exported or imported data. These include:
- Each element of an array can be placed in its own column.
- Each element of a structure can be placed in its own column.
- The number of significant digits in exported floating point
values can be specified.
- Allow control over significant number of digits displayed in watched
variables window. Right-clicking on a variable in the watched
variables window now includes an option to set the number of
significant digits displayed for that variable.
- On-the-fly stubbing of undefined functions. Reactis for C can be
configured to automatically treat any undefined function as having no
side-effects and returning a value of zero, which allows code to be tested
without the hassle of creating stub functions. This feature can be enabled
from the C Code tab of the Global Settings dialog.
Test Suite Browser
- Hide inports and outports when browsing a test suite. Right-clicking
on a row now shows a menu item to hide the row. It is also possible to
select and hide multiple rows. Rows can be un-hidden using an entry in the
new Filter menu.
- Filter the steps (columns) shown in the browser using a Boolean
expression referring to data items within the test suite. For example, to
see each step where the cruise control is active enter a filter expression
"active == 1". A filter can be defined either by selecting
Edit Column Filter...
or by directly entering an expression in the filter expression box at the
right side of the Test Suite Browser toolbar.
- Track MCC coverage. Reactis for C now supports tracking Multiple
Condition Coverage (MCC) for decisions. MCC tracks whether all
combinations of condition outcomes for a decision have been tested.
- Optional expanded decision targets. Reactis for C can now be configured
to create decision targets for Boolean expressions which appear throughout
a program, such as the first argument of the ternary operator
(e1? e2: e3) or on the right-hand side of an assignment
x = y || z;. Each additional decision target also causes
more condition, MC/DC, and MCC targets to be created, resulting in a set of more
comprehensive metrics for the code under test. What constitutes a decision
is configured from the C Code tab of the Global Settings dialog.
- C99 Compound literals. Prior to the C99 revision of the ANSI C
standard, first-class literals (e.g., a literal which can appear in a
function call, such as f(2)) were largely restricted to scalar types, such
as int or float. A compound literal is a literal expression whose type is a
structure, union, or array. The syntax for a compound literal is a type
enclosed in parentheses, followed by a brace-enclose list of initializers,
- C99 inline functions. The handling of inline functions has been brought
into compliance with C99.
- _Pragma operator. Support has been added for the C99 _Pragma operator.
- _Bool type. Support for the _Bool type is improved. variables of type
Bool now appear as Boolean harness elements.
- Export coverage reports via API. The Reactis for C API now includes new
functions to create coverage reports after creating a new test suite
(rsTesterWithReport) and running existing test suites
- Each individual compile error can now be selected in
Error dialog and highlighted in the source code.
- Windows UNC (Universal Naming Convention) paths are now supported.
- When you hover on a
#include directive, the location of
the included header file is displayed.
- You can now specify a maximum time interval after which execution is
interrupted if no outputs have been produced. This makes it easier to
determine the cause of infinite or excessively long loops.
- Capability for administrator to disconnect user from license manager in
order to free license.
You may download the patches or full installers from the
Reactis User Pages.
The Reactis Team