This paper reports on our experiences with verifying automotive C code by state-of-the-art open source software model checkers. The embedded C code is automatically generated from Simulink open-loop controller models. Its diverse features (decision logic, floating-point and pointer arithmetic, rate limiters and state-flow systems) and the extensive use of floating-point variables make verifying the code highly challenging. Our study reveals large discrepancies in coverage - which is at most only 20% of all requirements --- and tool strength compared to results from the main annual software verification competition. A hand-crafted, simple extension of the verifier CBMC with k-induction delivers results on 63% of the requirements while the proprietary BTC EmbeddedValidator covers 80% and obtains bounded verification results for most of the remaining requirements.
@article{arxiv.2003.11689,
title = {Benchmarking Software Model Checkers on Automotive Code},
author = {Lukas Westhofen and Philipp Berger and Joost-Pieter Katoen},
journal= {arXiv preprint arXiv:2003.11689},
year = {2020}
}
Comments
This is the preprint of an NFM2020 conference paper, including the full appendix