Download Tools
The following tools are used to create and execute tsl test suites for both C and Java objects.
| javamts/monomts/mts | mts.tar.gz | 07/25/2012 |
| This program transforms universe files into various types of scripts that can be used to automatically execute the tests or gather traces for the tests. | ||
| time.pl, mydate | time.tar.gz | 11/15/2005 |
time.pl calculates the time taken by test cases to execute
the program, and is used to collect timings. mydate returns sytem time in seconds
(elapsed from 1970) and in fractions of a second with resolution of 1 microsecond, and
is used to collect timings. | ||
| tsl | tsl.tar.gz | 11/15/2005 |
tsl generates frames based on a TSL specification. | ||
The next set of tools are used to perform analyses on the execution of object test suites, including test prioritization. These tools are distributed and built together, to satisfy various dependencies.
| C Tools | c-tools.tar.gz | 11/15/2005 | ||||||||||||
| Java Tools | java-tools.tar.gz | 11/15/2005 | ||||||||||||
| ||||||||||||||
Java line counters
javaNCSS
is an alternative source code lines counter for Java provided by Chr. Clemens Lee and
generates SLOC counts slightly differently.
JavaNCSS was used to compute the SLOC for the concurrency fault experiment objects (e.g. the
account subject.) JavaNCSS is available from
http://www.kclee.de/clemens/java/javancss.
cloc is a Perl-based implementation by Al Danial which incorporates code from SLOCCount and supports a large number of source languages and extensibility to new languages. Cloc is available from http://cloc.sourceforge.net.
C line counter
David A. Wheeler's SLOCCount, available at
https://www.dwheeler.com/sloccount/
is a tool for counting the number of non-comment source lines of code in numerous languages.
We have used this tool to count the source lines of code in our C objects.
mts-old.c
This C program is the older version of mts, that functions on universe files of the form found with the
Siemens and Space programs. This tool's source can be downloaded here:
mts-old.c.
C coverage
We do not provide a tool for computing coverage information on C objects.
In the SIR subjects where code coverage information is provided or available,
the coverage information for these C objects was computed using the
Aristotle Analysis System for C programs. The Aristotle system,
however, has not been maintained and its source code
is not available. The open source community has several projects aimed at C
code coverage analysis. If you are interested in performing C coverage studies we
suggest reviewing the capabilities of the Unix/Linux code coverage analysis standard
gcov tool
as well as examine the capabilities of the xCover
and covtool projects or the many
other open source coverage analysis projects on the Internet. Compiler tool chains
like LLVM can also provide code coverage tracing
via appropriate command line flags.
Java coverage
There are three coverage tool suites for Java that we are aware of:
- The Sofya analysis framework
- Cobertura, an open source analysis framework
- Emma, an older open source analysis framework
- Ecl Emma, an Eclipse plugin code coverage tool using the JaCoCo library
We have been using Sofya for several years in code coverage studies. We have limited direct experience with Cobertura and Emma having found both useful for overall coverage reporting.
Non-Deterministic ANT
The Apache project's ant build tool permits the automation of
testing with JUnit. Be aware, however, that this tool introduces a level of non-determinism in the
outputs in the form of test execution time statistics. These small differences in execution time
make the comparison of outputs between versions difficult, thus the SIR uses a modified
version of the ant program that removes this dynamic time aspect from the textual reports.
The modifications to remove the non-determinism apply only to the text (.txt) output of
JUnit tests. The XML output from JUnit tests continues to reflect execution time
data and thus the XML output files remain deterministic.
This modified version of ant can be downloaded here.
The removal of non-deterministic output in the SIR version of ant required changes to the associated JUnit library that is provided. This modified version of JUnit is available here.
Contributions
JUnit wrapper test suite fornanoxml TSL tests |
nanoxml-junit.tar.gz | 10/17/2005 |
| Contributor: Valentin Dallmeier, Saarland University | ||
| This package supplies JUnit test suites that act as wrappers for the nanoxml TSL test suites. Test suites for versions 1 through 5 of nanoxml are provided. Note: These JUnit tests are behaviorally equivalent to the TSL test suites already provided with nanoxml, and have not been created using the unit testing methodology. For this reason, they should not be used in comparisons between the functional and unit testing paradigms. | ||