Rice University
presents
William Chan
Department of Computer Science
University of Washington
Symbolic Model Checking for Large Software Specifications:
Case Studies, Optimization, and Extension
Despite its tremendous success in locating bugs in hardware circuits,
symbolic model checking has rarely been applied to software. The
prevalent view is that the symbolic representations used in model
checking, such as binary decision diagrams (BDDs), cannot capture the
complexity inherent in most software systems. Contrary to this
belief, I will present some results and experience in applying the
technique to the statecharts specifications of two industrial software
systems: a collision-avoidance system used on most commercial aircraft
and an electrical power distribution system on Boeing 777.
Using symbolic model checking, I have discovered subtle but important
errors not found in prior verification efforts. Although the final
results are encouraging, initially many of the analyses were
infeasible because of the huge BDDs generated. I have developed
intuition about some factors that can cause BDD blowup, and based on
the insights, devised optimization techniques to improve the
efficiency of the analyses by orders of magnitude. These
optimizations have made feasible certain analyses that were previously
intractable. Another limitation of the existing techniques was the
inability to handle complicated arithmetic. To attack the problem, I
have extended the conventional model-checking algorithm by coupling
BDDs with a constraint-satisfaction engine.
Rice University
Monday, April 19 @ 4 p.m.
Duncan Hall 1064
Reception to follow in DH 3076
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- |