Date of this Version
Junkil Park, Miroslav Pajic, Insup Lee, and Oleg Sokolsky, "Scalable Verification of Linear Controller Software", . April 2016.
We consider the problem of verifying software implementations of linear time-invariant controllers against mathematical specifications. Given a controller specification, multiple correct implementations may exist, each of which uses a different representation of controller state (e.g., due to optimizations in a third-party code generator). To accommodate this variation, we first extract a controller's mathematical model from the implementation via symbolic execution, and then check input-output equivalence between the extracted model and the specification by similarity checking. We show how to automatically verify the correctness of C code controller implementation using the combination of techniques such as symbolic execution, satisfiability solving and convex optimization. Through evaluation using randomly generated controller specifications of realistic size, we demonstrate that the scalability of this approach has significantly improved compared to our own earlier work based on the invariant checking method.
CPS Formal Methods, CPS Security
This is the author's version of the work.
Date Posted: 06 April 2016
This document has been peer reviewed.