70 likes | 221 Views
WP4 Algorithms, Tools, and Fault Injection. Fault-based TCG Techniques Daniel Kroening, ETH Zurich. TCG and Model Checking. Goal: automatic generation of test vectors from models Given a set of faults (mutations), the test vectors should cover all faults, or
E N D
WP4Algorithms, Tools, and Fault Injection Fault-based TCG Techniques Daniel Kroening, ETH Zurich
TCG and Model Checking • Goal: automatic generation of test vectors from models • Given a set of faults (mutations),the test vectors should • cover all faults, or • the model provably tolerates the fault. • Models • UML/OCL • Simulink/Stateflow
Model Extraction • Simulink/Stateflow is a very rich language • Huge collection of “blocks” • Extensive libraries • Frequently links to binaries, i.e., C-Code • We need to extract a “clean” representation • First prototype implementation completed • Supports broad set of C (and some C++),as we have existing front-ends
TCG with Model Checking • The fault model is merged into the system description, causing mutations SimulinkModel extract TransitionSystem MF FaultModel extract RewritingRules
TCG with Model Checking • We build the “Miter”: S1 M Output Input Inputs tiedtogether = ? Safetyproperty! Output Input MF S2
TCG with Model Checking • Two outcomes: • The Model Checker proves the property to holdIn this case, the fault is tolerated • The Model Checker produces a counterexampleThis is our test vector! • We plan to apply both bounded model checking and unbounded model checking
Achievements so far • Survey paper on software verification(IEEE TCAD) • Paper at DATE on vacuity of specifications(the dual of coverage) • Paper on generating long counterexamples in FACJ • Prototype of Simulink Model Extractorwith support for ANSI-C s-boxes • Decision procedure for bit-level properties of floating-point properties – applied to automotive software