Verifying SystemC TLM Peripherals using Modern C++ Symbolic Execution Tools

Pascal Pieper, Vladimir Herdt, Daniel Große, Rolf Drechsler

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

In this paper we propose an effective approach for verification of real-world SystemC TLM peripherals using modern C++ symbolic execution tools. We designed a lightweight SystemC peripheral kernel that enables an efficient integration with the modern symbolic execution engine KLEE and acts as a drop-in replacement for the normal SystemC kernel on pre-processed TLM peripherals. The pre-processing step essentially replaces context switches in SystemC threads with normal function calls which can be handled by KLEE. Our experiments, using a publicly available RISC-V specific interrupt controller, demonstrate the scalability and bug hunting effectiveness of our approach.
Original languageEnglish
Title of host publicationDesign Automation Conference 2022
Pages1177-1182
Number of pages6
ISBN (Electronic)9781450391429
DOIs
Publication statusPublished - 10 Jul 2022

Publication series

NameProceedings - Design Automation Conference
ISSN (Print)0738-100X

Fields of science

  • 202005 Computer architecture
  • 202017 Embedded systems
  • 102 Computer Sciences
  • 102005 Computer aided design (CAD)
  • 102011 Formal languages

JKU Focus areas

  • Digital Transformation

Cite this