Testos - Spectra

Testos Spectra Scheme
  1. About
  2. Installation
  3. Usage
  4. Contact
  5. Related Papers
  6. License

About

Testos-Spectra is a verification tool implementing run-time verification of past-time LTL (ptLTL) formulae. It is based on translation of ptLTL formula to a run-time monitor which is instrumented to a C/C++ programs. If a program run invalidates the formula, the monitor will report it as failed assertion.

Installation

For successful installation, download:

Currently, installation is available for Linux and Mac OS. Extract, and compile the tool using make. Perform unit tests using make test.

$ tar xzf spectra-0.5.tgz
$ cd spectra-0.5
$ make
$ make test

Usage

Detailed information about usage and workflow is available in the project repository: https://pajda.fit.vutbr.cz/testos/spectra. Source reference is available here.

Using Spectra for your own project, you will need:

  1. Source files of SUT (software under test), let's say sut.c
  2. Specification with ptLTL, let's say ptltl.spec.
  3. Declarations of identifiers used in the specification, let's say sut.h.

Build your monitor from the specification using spectra, then compile and run your SUT:

$ ./spectra --tpc -s ptltl.spec -d sut.h

Formulae from specification will be translated and compiled into a static library libspectra.a. A new header file monitor.h containing definitions of monitoring functions will be created and the source code of SUT (referenced by specification file, cf. T-Props_Checker/InputFileSpec.md for more details) will be updated = instrumented with monitor invocations.

$ cc -c sut.c
$ cc -L. sut.o -lspectra -o sut
$ ./sut

Contact

For more information, contact Ales Smrcka.

Related Papers

[1]
Klaus Havelund, Grigore Rosu. Efficient Monitoring of Safety Properties. 2004. In Journal of STTT, Volume 6(2), pp. 158-173.

License

The code in this project is licensed under BSD-3-Clause.

Acknowledgement

This project has received funding from the Technology Agency of the Czech Republic (TACR) under the project Aufover TH04010192.