  Stateflow models are complex software models, often used as part of
industrial safety-critical software solutions designed with Matlab Simulink.
Being part of safety-critical solutions, these models require the application
of rigorous verification techniques for assuring their correctness. In this
paper, we propose a refutation-based formal verification approach for analyzing
Stateflow models against invariant properties, based on bounded model checking
(BMC). The crux of our technique is: i) a representation of the state space of
Stateflow models as a symbolic transition system (STS) over the symbolic
configurations of the model, and ii) application of incremental BMC, to
generate verification results after each unrolling of the next-state relation
of the transition system. To this end, we develop a symbolic structural
operational semantics (SSOS) for Stateflow, starting from an existing
structural operational semantics (SOS), and show the preservation of invariant
properties between the two. We define bounded invariant checking for STS over
symbolic configurations as a satisfiability problem. We develop an automated
procedure for generating the initial and next-state predicates of the STS, and
a prototype implementation of the technique in the form of a tool utilising
standard, off-the-shelf satisfiability solvers. Finally, we present preliminary
performance results by applying our tool on an illustrative example and two
industrial models.
