English
Related papers

Related papers: RustCompCert: A Verified and Verifying Compiler fo…

200 papers

Attackers can access sensitive information of programs by exploiting the side-effects of speculatively-executed instructions using Spectre attacks. To mitigate theses attacks, popular compilers deployed a wide range of countermeasures. The…

Programming Languages · Computer Science 2021-09-13 Marco Patrignani , Marco Guarnieri

The kernel is the most safety- and security-critical component of many computer systems, as the most severe bugs lead to complete system crash or exploit. It is thus desirable to guarantee that a kernel is free from these bugs using formal…

Cryptography and Security · Computer Science 2021-05-25 Olivier Nicole , Matthieu Lemerre , Sébastien Bardin , Xavier Rival

Referential integrity (RI) is an important correctness property of a shared, distributed object storage system. It is sometimes thought that enforcing RI requires a strong form of consistency. In this paper, we argue that causal consistency…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-03-12 Marc Shapiro , Annette Bieniusa , Peter Zeller , Gustavo Petri

Formal verification of concurrent operating systems (OSs) is challenging, in particular the verification of the dynamic memory management due to its complex data structures and allocation algorithm. An incorrect specification and…

Software Engineering · Computer Science 2023-09-20 Yongwang Zhao , David Sanan

C-to-Rust transpilation is essential for modernizing legacy C code while enhancing safety and interoperability with modern Rust ecosystems. However, no dataset currently exists for evaluating whether a system can transpile C into safe Rust…

Software Engineering · Computer Science 2025-10-03 Anirudh Khatry , Robert Zhang , Jia Pan , Ziteng Wang , Qiaochu Chen , Greg Durrett , Isil Dillig

Automated verification tools based on SMT solvers have made significant progress in verifying complex software systems. However, these tools face a fundamental tension between automation and performance when dealing with quantifier…

Software Engineering · Computer Science 2025-12-04 Alexander Y. Bai , Chris Hawblitzel , Andrea Lattuada

Scalable and automatic formal verification for concurrent systems is always demanding. In this paper, we propose a verification framework to support automated compositional reasoning for concurrent programs with shared variables. Our…

Formal Languages and Automata Theory · Computer Science 2018-03-28 Fuyuan Zhang , Yongwang Zhao , David Sanan , Yang Liu , Alwen Tiu , Shang-Wei Lin , Jun Sun

Ownership is the concept of tracking aliases and mutations to data, useful for both memory safety and system design. The Rust programming language implements ownership via the borrow checker, a static analyzer that extends the core type…

Programming Languages · Computer Science 2021-09-24 Will Crichton

Secure compilation studies compilers that generate target-level components that are as secure as their source-level counterparts. Full abstraction is the most widely-proven property when defining a secure compiler. A compiler is modular if…

Programming Languages · Computer Science 2016-04-19 Marco Patrignani , Dominique Devriese , Frank Piessens

We introduce VeriStruct, a novel framework that extends AI-assisted automated verification from single functions to more complex data structure modules in Verus. VeriStruct employs a planner module to orchestrate the systematic generation…

Software Engineering · Computer Science 2026-03-04 Chuyue Sun , Yican Sun , Daneshvar Amrollahi , Ethan Zhang , Shuvendu Lahiri , Shan Lu , David Dill , Clark Barrett

Formal verification of software and compilers has been used to rule out large classes of security-critical issues, but risk of unintentional information leakage has received much less consideration. It is a key requirement for formal…

Programming Languages · Computer Science 2025-04-23 Owen Conoly , Andres Erbsen , Adam Chlipala

Verified compilers aim to guarantee that compilation preserves the observable behavior of source programs. While small-step semantics are widely used in such compilers, they are not always the most convenient framework for structural…

Programming Languages · Computer Science 2026-02-24 David Knothe , Oliver Bringmann

Formal verification can provably guarantee the correctness of critical system software, but the high proof burden has long hindered its wide adoption. Recently, Large Language Models (LLMs) have shown success in code analysis and synthesis.…

Formal Languages and Automata Theory · Computer Science 2023-11-27 Jianan Yao , Ziqiao Zhou , Weiteng Chen , Weidong Cui

This paper presents CREST, a prototype front-end tool intended as an add-on to commercial EDA formal verifcation environments. CREST is an adaptation of the CBMC bounded model checker for C, an academic tool widely used in industry for…

Programming Languages · Computer Science 2019-08-06 Andreas Tiemeyer , Tom Melham , Daniel Kroening , John O'Leary

A program verifier produces reliable results only if both the logic used to justify the program's correctness is sound, and the implementation of the program verifier is itself correct. Whereas it is common to formally prove soundness of…

Programming Languages · Computer Science 2021-06-01 Gaurav Parthasarathy , Peter Müller , Alexander J. Summers

Dancing Links connotes an optimization to a circular doubly-linked list data structure implementation which provides for fast list element removal and restoration. The Dancing Links optimization is used primarily in fast algorithms to find…

Logic in Computer Science · Computer Science 2023-11-16 David S. Hardin

C/C++ is a prevalent programming language. Yet, it suffers from significant memory and thread-safety issues. Recent studies have explored automated translation of C/C++ to safer languages, such as Rust. However, these studies focused mostly…

Software Engineering · Computer Science 2026-02-03 Biruk Tadesse , Vikram Nitin , Mazin Salah , Baishakhi Ray , Marcelo d'Amorim , Wesley Assunção

We present Refined TypeScript (RSC), a lightweight refinement type system for TypeScript, that enables static verification of higher-order, imperative programs. We develop a formal core of RSC that delineates the interaction between…

Programming Languages · Computer Science 2016-04-12 Panagiotis Vekris , Benjamin Cosman , Ranjit Jhala

Language model reasoning traces are rarely all-or-nothing; they frequently contain valid intermediate steps before a critical error occurs. Existing uncertainty quantification methods typically certify final answers or entire responses,…

Artificial Intelligence · Computer Science 2026-05-29 Matt Y. Cheung , Ashok Veeraraghavan , Hanjie Chen , Guha Balakrishnan

Large Language Models (LLMs) are widely used for code generation. However, the correctness of code generated by LLMs remains a concern. A potential remedy to this concern is to have LLMs generate formal correctness proofs along with such…

Software Engineering · Computer Science 2026-05-12 Nongyu Di , Tianyu Chen , Shan Lu , Shuai Lu , Yeyun Gong , Peng Cheng , Jacob R. Lorch , Yuan Yao , Xiaoxing Ma