English
Related papers

Related papers: CBMC: The C Bounded Model Checker

200 papers

Owing to the continued use of C (and C++), spatial safety violations (e.g., buffer overflows) still constitute one of today's most dangerous and prevalent security vulnerabilities. To combat these violations, Checked C extends C with…

Programming Languages · Computer Science 2022-03-28 Aravind Machiry , John Kastner , Matt McCutchen , Aaron Eline , Kyle Headley , Michael Hicks

The rapid evolution and use of Large Language Models (LLMs) in professional workflows require an evaluation of their domain-specific knowledge against industry standards. We introduceCyberCertBench, a new suite of Multiple Choice Question…

Cryptography and Security · Computer Science 2026-04-23 Gustav Keppler , Ghada Elbez , Veit Hagenmeyer

Validation is one of the software engineering disciplines that help build quality into software. The major objective of software validation process is to determine that the software performs its intended functions correctly and provide…

Software Engineering · Computer Science 2011-03-22 Mahmoud Khraiwesh

Automatic software verification tools help to find hard-to-detect faults in programs checked against specified requirements non-interactively. Besides, they can prove program correctness formally under certain assumptions. These…

Software Engineering · Computer Science 2023-09-29 Ilja Zakharov , Evgeny Novikov , Ilya Shchepetkov

FuSeBMC is a test generator for finding security vulnerabilities in C programs. In earlier work [4], we described a previous version that incrementally injected labels to guide Bounded Model Checking (BMC) and Evolutionary Fuzzing engines…

Cryptography and Security · Computer Science 2021-12-22 Kaled M. Alshmrany , Mohannad Aldughaim , Ahmed Bhayat , Lucas C. Cordeiro

Testing is one of the most indispensable tasks in software engineering. The role of testing in software development has grown significantly because testing is able to reveal defects in the code in an early stage of development. Many unit…

Software Engineering · Computer Science 2010-12-07 Norbert Pataki

Lightweight validation technique, such as those based on random testing, are sometimes practical alternatives to full formal verification -- providing valuable benefits, such as finding bugs, without requiring a disproportionate effort. In…

Logic in Computer Science · Computer Science 2025-08-26 Lidia Losavio , Marco Paganoni , Carlo A. Furia

Conformance checking is a set of process mining functions that compare process instances with a given process model. It identifies deviations between the process instances' actual behaviour ("as-is") and its modelled behaviour ("to-be").…

Software Engineering · Computer Science 2020-07-22 Sebastian Dunzer , Matthias Stierle , Martin Matzner , Stephan Baier

This report describes experimental results for a set of benchmarks on program verification. It compares the capabilities of CPBVP "Constraint Programming framework for Bounded Program Verification" [4] with the following frameworks:…

Software Engineering · Computer Science 2008-08-12 Hélène Collavizza , Michel Rueher , Pascal Van Hentenryck

An engineering design process may involve software modules that can executed concurrently. Concurrent modules can be very easily subject to some synchronization errors. This paper discusses verification process for such engineering…

Software Engineering · Computer Science 2017-04-24 Jerzy Mieścicki , Mikołaj Baszun , Wiktor B. Daszczuk , Bogdan D. Czejdo

Many security and software testing applications require checking whether certain properties of a program hold for any possible usage scenario. For instance, a tool for identifying software vulnerabilities may need to rule out the existence…

Software Engineering · Computer Science 2018-05-03 Roberto Baldoni , Emilio Coppa , Daniele Cono D'Elia , Camil Demetrescu , Irene Finocchi

Model checkers use automated state exploration in order to prove various properties such as reachability, non-reachability, and bisimulation over state transition systems. While model checkers have proved valuable for locating errors in…

Logic in Computer Science · Computer Science 2015-08-03 Quentin Heath , Dale Miller

This paper presents the verification of control systems implemented in Simulink. The goal is to ensure that high-level requirements on control performance, like stability, are satisfied by the Simulink diagram. A two stage process is…

Systems and Control · Computer Science 2021-04-13 Dejanira Araiza-Illan , Kerstin Eder , Arthur Richards

We introduce the tool HyperQB 2.0, the first highly efficient push-button bounded model checker (BMC) for hyperproperties. HyperQB takes as input a model in NuSMV or Verilog and a formula expressed in the temporal logics HyperLTL or A-HLTL.…

Code completion, a highly valuable topic in the software development domain, has been increasingly promoted for use by recent advances in large language models (LLMs). To date, visible LLM-based code completion frameworks such as GitHub…

Software Engineering · Computer Science 2023-05-09 Zongjie Li , Chaozheng Wang , Zhibo Liu , Haoxuan Wang , Dong Chen , Shuai Wang , Cuiyun Gao

Approximate model counting is the task of approximating the number of solutions to an input Boolean formula. The state-of-the-art approximate model counter for formulas in conjunctive normal form (CNF), ApproxMC, provides a scalable means…

Logic in Computer Science · Computer Science 2024-06-21 Yong Kiam Tan , Jiong Yang , Mate Soos , Magnus O. Myreen , Kuldeep S. Meel

For high-assurance software, source-level reasoning is insufficient: we need binary-level guarantees. Despite constrained Horn clause (CHC) solving being one of the most popular forms of automated verification, prior work has not evaluated…

Programming Languages · Computer Science 2026-03-31 Aaron Bembenek , Toby Murray

This paper describes the development and verification of a competitive parachute system for Micro Air Vehicles, in particular focusing on verification of the embedded software. We first introduce the overall solution including a system…

Software Engineering · Computer Science 2017-06-12 Martin Becker , Markus Neumair , Alexander Söhn , Samarjit Chakraborty

The correctness of compilers is instrumental in the safety and reliability of other software systems, as bugs in compilers can produce executables that do not reflect the intent of programmers. Such errors are difficult to identify and…

Software Engineering · Computer Science 2022-06-17 Md Rafiqul Islam Rabin , Mohammad Amin Alipour

Teaching proofs is a crucial component of any undergraduate-level program that covers formal reasoning. We have developed a calculational reasoning format and refined it over several years of teaching a freshman-level course, "Logic and…

Logic in Computer Science · Computer Science 2023-11-16 Andrew T. Walter , Ankit Kumar , Panagiotis Manolios