English
Related papers

Related papers: Verification of C++ Programs with VeriFast

200 papers

Recent progress in large language models (LLMs) has substantially advanced automatic code generation and formal theorem proving, yet software verification has not seen comparable gains. To address this gap, we propose WybeCoder, an agentic…

Software Engineering · Computer Science 2026-04-16 Fabian Gloeckle , Mantas Baksys , Darius Feher , Kunhao Zheng , Amaury Hayat , Sean B. Holden , Gabriel Synnaeve , Peter O'Hearn

Generic programming is an effective methodology for developing reusable software libraries. Many programming languages provide generics and have features for describing interfaces, but none completely support the idioms used in generic…

Programming Languages · Computer Science 2007-08-17 Jeremy G. Siek , Andrew Lumsdaine

Security protocols are essential building blocks of modern IT systems. Subtle flaws in their design or implementation may compromise the security of entire systems. It is, thus, important to prove the absence of such flaws through formal…

Cryptography and Security · Computer Science 2023-09-12 Linard Arquint , Malte Schwerhoff , Vaibhav Mehta , Peter Müller

Automatic verification deals with the validation by means of computers of correctness certificates. The related tools, usually called proof assistants or interactive provers, provide an interactive environment for the creation of formal…

Logic in Computer Science · Computer Science 2017-01-16 Andrea Asperti

Go is an increasingly-popular systems programming language targeting, especially, concurrent and distributed systems. Go differentiates itself from other imperative languages by offering structural subtyping and lightweight concurrency…

Programming Languages · Computer Science 2021-05-31 Felix A. Wolf , Linard Arquint , Martin Clochard , Wytse Oortwijn , João C. Pereira , Peter Müller

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

We address the verification problem for concurrent program that dynamically create (fork) new threads or destroy (join) existing threads. We present a reduction to the verification problem for concurrent programs with a fixed number of…

Programming Languages · Computer Science 2023-11-03 Matthias Heizmann , Dominik Klumpp , Frank Schüssele , Lars Nitzke

Confidential computing is a key technology for isolating high-assurance applications from the large amounts of untrusted code typical in modern systems. Existing confidential computing systems cannot be certified for use in critical…

Cryptography and Security · Computer Science 2023-11-02 Wojciech Ozga , Guerney D. H. Hunt , Michael V. Le , Elaine R. Palmer , Avraham Shinnar

This paper presents a focused literature survey on the use of large language models (LLM) to assist in writing formal specifications for software. A summary of thirty-five key papers is presented, including examples for specifying programs…

Software Engineering · Computer Science 2025-06-16 Arshad Beg , Diarmuid O'Donoghue , Rosemary Monahan

Over the past 27 years, quantum computing has seen a huge rise in interest from both academia and industry. At the current rate, quantum computers are growing in size rapidly backed up by the increase of research in the field. Significant…

Logic in Computer Science · Computer Science 2024-02-15 Marco Lewis , Sadegh Soudjani , Paolo Zuliani

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

Formal verification is increasingly recognized as a critical foundation for building reliable software systems. However, the need for specialized expertise to write precise specifications, navigate complex proof obligations, and learn…

Software Engineering · Computer Science 2025-10-31 Changjie Wang , Mariano Scazzariello , Anoud Alshnakat , Roberto Guanciale , Dejan Kostić , Marco Chiesa

Reinforcement learning (RL) to improve code review comment generation requires handling unstructured outputs, making reinforcement learning (RL) feedback challenging. The two main RL approaches, namely RL with Verifiable Feedback (RLVR) and…

Software Engineering · Computer Science 2025-06-03 Manav Nitin Kapadnis , Atharva Naik , Carolyn Rose

Distributed systems adopt weak consistency to ensure high availability and low latency, but state convergence is hard to guarantee due to conflicts. Experts carefully design replicated data types (RDTs) that resemble sequential data types…

Programming Languages · Computer Science 2024-12-09 Kevin De Porre , Carla Ferreira , Elisa Gonzalez Boix

In this paper, we introduce an interactive simulator for programs in the form of LLVM bitcode. The main features of the simulator include precise control over thread scheduling, automatic checkpoints and reverse stepping, support for…

Software Engineering · Computer Science 2019-07-10 Petr Ročkai , Jiří Barnat

We introduce ${\rm C{\small LEVER}}$, a high-quality, curated benchmark of 161 problems for end-to-end verified code generation in Lean. Each problem consists of (1) the task of generating a specification that matches a held-out…

Most software domains rely on compilers to translate high-level code to multiple different machine languages, with performance not too much worse than what developers would have the patience to write directly in assembly language. However,…

Software testing is normally used to check the validity of a program. Test oracle performs an important role in software testing. The focus in this research is to perform class level test by introducing a testing framework. A technique is…

Software Engineering · Computer Science 2014-08-27 Munib Ahmad , Fuad Bajaber , M. Rizwan Jameel Qureshi

Multithreaded programs generally leverage efficient and thread-safe concurrent objects like sets, key-value maps, and queues. While some concurrent-object operations are designed to behave atomically, each witnessing the atomic effects of…

Logic in Computer Science · Computer Science 2019-11-06 Siddharth Krishna , Michael Emmi , Constantin Enea , Dejan Jovanovic

Quantum computers promise to efficiently solve not only problems believed to be intractable for classical computers, but also problems for which verifying the solution is also considered intractable. This raises the question of how one can…

Quantum Physics · Physics 2018-07-10 Alexandru Gheorghiu , Theodoros Kapourniotis , Elham Kashefi