Abstract :
We present Lustructu, a tool measuring the structural coverage of LUSTRE programs. LUSTRE is a synchronous data-flow declarative language widely used for safety-critical applications (avionics, energy, transport...). Many coverage criteria are defined for sequential languages and are widely used in the software industry (for instance, statement or branch coverage). They are defined on the program control-flow graph and, hence, do not apply to LUSTRE programs, represented by data-flow diagrams. We have defined several criteria to measure the coverage achieved after the execution of a test set, based on symbolic computation of path activation conditions. These criteria, implemented in Lustructu, provide the user with meaningful automatically computed measures of the thoroughness of a given test set
Keywords :
data flow analysis; program testing; safety-critical software; software tools; symbol manipulation; Lustre programs; Lustructu; automatic coverage assessment; data-flow diagrams; path activation; safety-critical applications; symbolic computation; synchronous data-flow declarative language; Reliability engineering; Software reliability;