Departmental Papers (CIS)

Date of this Version

4-2017

Document Type

Conference Paper

Comments

23rd International Conference on Tools and Algorithms for the Construction and
Analysis of Systems (TACAS 2017), Uppsala, Sweden, April 22-29, 2017

Abstract

We consider the problem of verifying finite precision implementation of linear time-invariant controllers against mathematical specifications. A specification may have multiple correct implementations which are different from each other in controller state representation, but equivalent from a perspective of input-output behavior (e.g., due to optimization in a code generator). The implementations may use finite precision computations (e.g. floating-point arithmetic) which cause quantization (i.e., roundoff) errors. To address these challenges, we first extract a controller's mathematical model from the implementation via symbolic execution and floating-point error analysis, and then check approximate input-output equivalence between the extracted model and the specification by similarity checking. We show how to automatically verify the correctness of floating-point controller implementation in C language using the combination of techniques such as symbolic execution and convex optimization problem solving. We demonstrate the scalability of our approach through evaluation with randomly generated controller specifications of realistic size.

Subject Area

CPS Formal Methods

Publication Source

23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2017)

Share

COinS
 

Date Posted: 05 February 2017

This document has been peer reviewed.