Benchmarking Software Model Checkers on Automotive Code

03/26/2020
by   Lukas Westhofen, et al.
0

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 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 covers 80 requirements.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/27/2020

An Efficient Floating-Point Bit-Blasting API for Verifying C Programs

We describe a new SMT bit-blasting API for floating-points and evaluate ...
research
07/07/2017

A Verified Certificate Checker for Floating-Point Error Bounds

Being able to soundly estimate roundoff errors in floating-point computa...
research
09/20/2021

Solving systems of inequalities in two variables with floating point arithmetic

From a theoretical point of view, finding the solution set of a system o...
research
07/02/2022

Auto-active Verification of Floating-point Programs via Nonlinear Real Provers

We give a process for verifying numerical programs against their functio...
research
09/05/2022

Exploring the Verifiability of Code Generated by GitHub Copilot

GitHub's Copilot generates code quickly. We investigate whether it gener...
research
11/05/2020

Datasets for Benchmarking Floating-Point Compressors

Compression of floating-point data, both lossy and lossless, is a topic ...
research
07/12/2021

An Interval Arithmetic for Robust Error Estimation

Interval arithmetic is a simple way to compute a mathematical expression...

Please sign up or login with your details

Forgot password? Click here to reset