Project : vertecs
Section: Scientific Foundations
The formal models we use are mainly automata-like structures such as labelled transition systems (LTS) and some of their extensions: an LTS is a tuple where Q is a non-empty set of states; is the initial state; A is the alphabet of actions, is the transition relation.
To model reactive systems in the testing context, we use Input/Output labeled transition systems (IOLTS for short). In this setting, interactions between the system and its environment are modeled by input (controlled by the environment) and output events (observed by the environment), and the internal behavior of the system is modeled by internal (non observable) events. In the controller synthesis theory, we also distinguish between controllable and uncontrollable events, observable and unobservable events. In testing, we also manipulate input-output symbolic transition systems (IOSTS), which are extensions of IOLTS that operate on data (i.e., program variables, communication parameters, symbolic constants) through message passing, guards, and assignments. An alternative to IOSTS to specify systems with data variables is the model of synchronous dataflow equations.
Our research is based on well established theories: conformance testing, supervisory control, abstract interpretation, and theorem proving. Most of the algorithms that we employ take their origins in these theories:
graph traversal algorithms (breadth first, depth first, strongly connected components, ...). We use these algorithms for verification as well as test generation and control synthesis.
abstract interpretation algorithms, specifically in the abstract domain of polyhedraes (for example, Chernikova's algorithm for the computation of dual forms). Such algorithms are used in verification and test generation.
logical decision algorithms, such as satifiability of formulas in Presburger arithmetics. We use these algorithms during generation and execution of symbolic test cases.