Verifying SystemC TLM peripherals using modern C++ symbolic execution tools
Pascal Pieper, Vladimir Herdt, Daniel Große, Rolf Drechsler
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.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 76f85e04-23a3-431d-9e42-034aa37eb4f7Related papers
- Inception: System-Wide Security Testing of Real-World Embedded Systems SoftwareNassim Corteggiani, Giovanni Camurati, Aurélien FrancillonUSENIX Security 2018 · 117 citations
- Symbolic execution with SymCC: Don't interpret, compile!Sebastian Poeplau, Aurélien FrancillonUSENIX Security 2020
- SYMTUNER: Maximizing the Power of Symbolic Execution by Adaptively Tuning External ParametersSooyoung Cha, Myungho Lee, Seokhyun Lee, Hakjoo OhICSE 2022 · 4 citations
- SYLQ-SV: Scaling Symbolic Execution of Hardware Designs with Query CachingKaki Ryan, Cynthia SturtonASPLOS 2025 · 1 citation
- KRover: A Symbolic Execution Engine for Dynamic Kernel AnalysisPansilu Pitigalaarachchi, Xuhua Ding, Haiqing Qiu, Haoxin Tu et al.CCS 2023 · 4 citations
