Skip to main content Skip to main navigation

Publication

Towards Reliable Spatial Memory Safety for Embedded Software by Combining Checked C with Concolic Testing

Sören Tempel; Vladimir Herdt; Rolf Drechsler
In: 58th Design Automation Conference (DAC). Design Automation Conference (DAC-2021), December 5-9, San Francisco, CA, USA, 2021.

Abstract

In this paper we propose to combine the safe C dialect Checked C with concolic testing to obtain an effective methodology for attaining safer C code. Checked C is a modern and backward compatible extension to the C programming language which provides facilities for writing memory-safe C code. We utilize incremental conversions of unsafe C software to Checked C. After each increment, we leverage concolic testing, an effective test generation technique, to support the conversion process by searching for newly introduced and existing bugs. Our RISC-V experiments using the RIOT Operating System (OS) demonstrate the effectiveness of our approach. We uncovered 4 previously unknown bugs and 3 bugs accidentally introduced through our conversion process.

Projects