Participant : Bertrand Jeannet [ contact ] .
NBAC is a verification/slicing tool developed in collaboration with Vérimag. This tool analyses synchronous and deterministic reactive systems containing combination of Boolean and numerical variables and continuously interacting with an external environment. Its input format is directly inspired by the low-level semantics of the LUSTRE dataflow synchronous language. Asynchronous and/or non-deterministic systems can be compiled in this model. The kind of analyses performed by NBAC are: reachability analysis from a set of initial states, which allows to compute invariants satisfied by the system; coreachability analysis from a set of final states, which allows to compute sets of states that may lead to a final state; and combination of the above. The result of an analysis is either a set of states together with a necessary condition on states and inputs to stay in this set during an execution, either a verdict of a verification problem. The tool is founded on the theory of abstract interpretation: sets of states are approximated by abstract values belonging to an abstract domain, on which fix-point computations are performed. The originality of NBAC resides in
the use of a very general notion of control structure in order to very precisely tune the trade-off between precision and efficiency;
the ability to dynamically refine the control structure, and to guide this refinement by the needs of the analysis;
sophisticated methods for computing postconditions and preconditions of abstract values.
More recently, NBAC has been extended with auxiliary translation tools Auto2nbac and Nbac2auto . This allows to specify systems to be analyzed as a product of hybrid automata with constant differential inclusion (e.g. , ) and to get the result of the analysis on the product automaton.