English
Related papers

Related papers: CBMC: The C Bounded Model Checker

200 papers

2LS ("tools") is a verification tool for C programs, built upon the CPROVER framework. It allows one to verify user-specified assertions, memory safety properties (e.g. buffer overflows), numerical overflows, division by zero, memory leaks,…

Software Engineering · Computer Science 2023-02-07 Daniel Kroening , Viktor Malík , Peter Schrammel , Tomáš Vojnar

This article describes the development and formal verification (proof of semantic preservation) of a compiler back-end from Cminor (a simple imperative intermediate language) to PowerPC assembly code, using the Coq proof assistant both for…

Logic in Computer Science · Computer Science 2009-11-14 Xavier Leroy

Configurable software verification is a recent concept for expressing different program analysis and model checking approaches in one single formalism. This paper presents CPAchecker, a tool and framework that aims at easy integration of…

Programming Languages · Computer Science 2009-02-03 Dirk Beyer , M. Erkan Keremoglu

The structure of component and connector (C&C) models, which are used in many application domains of software engineering, consists of components at different containment levels, their typed input and output ports, and the connectors…

Software Engineering · Computer Science 2014-06-30 Shahar Maoz , Jan Oliver Ringert , Bernhard Rumpe

OpenACC is a high-level directive-based parallel programming model that can manage the sophistication of heterogeneity in architectures and abstract it from the users. The portability of the model across CPUs and accelerators has gained the…

Software Engineering · Computer Science 2022-08-30 A. M. Jarmusch , A. Liu , C. Munley , D. Horta , V. Ravichandran , J. Denny , S. Chandrasekaran

Control barrier functions (CBFs) are a popular tool for safety certification of nonlinear dynamical control systems. Recently, CBFs represented as neural networks have shown great promise due to their expressiveness and applicability to a…

Machine Learning · Computer Science 2026-04-15 Nikolaus Vertovec , Frederik Baymler Mathiesen , Thom Badings , Luca Laurenti , Alessandro Abate

Hyperproperties are properties of systems that relate multiple computation traces, including security and concurrency properties. This paper introduces a bounded model checking (BMC) algorithm for hyperproperties expressed in HyperLTL,…

Formal Languages and Automata Theory · Computer Science 2020-10-19 Tzu-Han Hsu , Cesar Sanchez , Borzoo Bonakdarpour

Critical embedded systems (CES) have become ubiquitous in whether medical, automotive, or industrial. Software failures in such systems are potentially disastrous and could lead to serious consequences not only financially but also…

Software Engineering · Computer Science 2022-08-11 Hafsa Cheddadi , Saad Motahhir , Abdelaziz El Ghzizal

We present twenty-five C programs, as a benchmark for C program verification using formal methods. This benchmark can be used for system demonstration, for comparison of verification effort between systems, and as a friendly competition.…

Verifying LLM-generated systems code is hard: bugs are prevalent, formal specifications are missing, and safety contracts are encoded implicitly at call sites rather than enforced at function boundaries. We propose agentic model checking, a…

Software Engineering · Computer Science 2026-05-21 Youcheng Sun , Jiawen Liu , Daniel Kroening , Jason Xue

Python has become the dominant language for general-purpose programming, yet it lacks robust tools for formal verification. In contrast, programmers working in languages such as C benefit from mature model checkers, for example CBMC, which…

Software Engineering · Computer Science 2025-08-12 Pedro Orvalho , Marta Kwiatkowska

This paper presents Efficient SMT-Based Context-Bounded Model Checker (ESBMC) v7.6, an extended version based on previous work on ESBMC v7.3 by K. Song et al. The v7.3 introduced a new Clang-based C++ front-end to address the challenges…

Logic in Computer Science · Computer Science 2025-05-23 Xianzhiyu Li , Kunjian Song , Mikhail R. Gadelha , Franz Brauße , Rafael S. Menezes , Konstantin Korovin , Lucas C. Cordeiro

Formal verification of large C programs is impeded by state-space explosion: Bounded Model Checking (BMC) tools must encode the entire state space up to the predetermined bound by unrolling all nested constructs. We present ConVer, a…

Software Engineering · Computer Science 2026-05-27 Muhammad A. A. Pirzada , Weiqi Wang , Yiannis Charalambous , Konstantin Korovin , Lucas C. Cordeiro

This paper introduces ESBMC v7.3, the latest Efficient SMT-Based Context-Bounded Model Checker version, which now incorporates a new clang-based C++ front-end. While the previous CPROVER-based front-end served well for handling C++03…

Logic in Computer Science · Computer Science 2023-08-11 Kunjian Song , Mikhail R. Gadelha , Franz Brauße , Rafael S. Menezes , Lucas C. Cordeiro

Transaction-level modeling with SystemC has been very successful in describing the behavior of embedded systems by providing high-level executable models, in which many of them have inherent probabilistic behaviors, e.g., random data and…

Software Engineering · Computer Science 2017-12-07 Van Chan Ngo , Axel Legay

Large language models (LLMs) need reliable test-time control of hallucinations. Existing conformal methods for LLMs typically provide only \emph{marginal} guarantees and rely on a single global threshold, which can under-cover hard prompts,…

Machine Learning · Computer Science 2026-03-31 Kai Ye , Qingtao Pan , Shuo Li

C language is one of the most popular languages for software systems. In order to verify safety, reliability and security properties of such systems written in C, a tool UMC4M for runtime verification at code level based on Modeling,…

Programming Languages · Computer Science 2019-01-23 Meng Wang , Cong Tian , Nan Zhang , Zhenhua Duan , Chenguang Yao

Bounded model checking (BMC) and fuzzing techniques are among the most effective methods for detecting errors and security vulnerabilities in software. However, there are still shortcomings in detecting these errors due to the inability of…

Software Engineering · Computer Science 2024-04-19 Kaled M. Alshmrany , Mohannad Aldughaim , Ahmed Bhayat , Lucas C. Cordeiro

Simulation-based calibration checking (SBC) is a practical method to validate computationally-derived posterior distributions or their approximations. In this paper, we introduce a new variant of SBC to alleviate several known problems. Our…

Concolic testing is a popular software verification technique based on a combination of concrete and symbolic execution. Its main focus is finding bugs and generating test cases with the aim of maximizing code coverage. A previous approach…

Logic in Computer Science · Computer Science 2020-09-23 Fred Mesnard , Etienne Payet , German Vidal