English
Related papers

Related papers: Verification of the Release-Acquire Semantics

200 papers

RAG systems are increasingly deployed in high-stakes domains where users expect outputs to be consistent across semantically equivalent queries. However, existing systems often exhibit significant inconsistencies due to variability in both…

Computation and Language · Computer Science 2025-10-07 Faisal Hamman , Chenyang Zhu , Anoop Kumar , Xujun Peng , Sanghamitra Dutta , Daben Liu , Alfy Samuel

We aim to automate decades of research and experience in register allocation, leveraging machine learning. We tackle this problem by embedding a multi-agent reinforcement learning algorithm within LLVM, training it with the state of the art…

Machine Learning · Computer Science 2023-02-07 S. VenkataKeerthy , Siddharth Jain , Anilava Kundu , Rohit Aggarwal , Albert Cohen , Ramakrishna Upadrasta

Counterfactual explanation generation is a powerful method for Explainable Artificial Intelligence. It can help users understand why machine learning models make specific decisions, and how to change those decisions. Evaluating the…

Machine Learning · Computer Science 2024-06-03 Ao Xu , Tieru Wu

To manage exceptions, software relies on a key architectural guarantee, precision: that exceptions appear to execute between instructions. However, this definition, dating back over 60 years, fundamentally assumes a sequential programmers…

Hardware Architecture · Computer Science 2024-12-20 Ben Simner , Alasdair Armstrong , Thomas Bauereiss , Brian Campbell , Ohad Kammar , Jean Pichon-Pharabod , and Peter Sewell

This paper studies the relation between agreement and strongly linearizable implementations of various objects. This leads to new results about implementations of concurrent objects from various primitives including window registers and…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-09-03 Hagit Attiya , Armando Castañeda , Constantin Enea

In parametric lock-sharing systems processes can spawn new processes to run in parallel, and can create new locks. The behavior of every process is given by a pushdown automaton. We consider infinite behaviors of such systems under strong…

Logic in Computer Science · Computer Science 2023-07-12 Corto Mascle , Anca Muscholl , Igor Walukiewicz

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

During the development and verification of complex airborne systems, a variety of languages and development environments are used for different levels of the system hierarchy. As a result, there may be manual steps to translate requirements…

Software Engineering · Computer Science 2016-04-26 Jing Liu , John D. Backes , Darren Cofer , Andrew Gacek

Recently, a plethora of works have proposed inference-time algorithms (e.g. best-of-n), which incorporate verifiers to assist the generation process. Their quality-efficiency trade-offs have been empirically benchmarked on a variety of…

Computation and Language · Computer Science 2025-06-09 Edoardo Botta , Yuchen Li , Aashay Mehta , Jordan T. Ash , Cyril Zhang , Andrej Risteski

We consider the verification of omega-regular linear temporal properties of concurrent programs running under weak memory semantics. We observe that in particular, these properties may enforce liveness clauses, whose verification in this…

Programming Languages · Computer Science 2024-09-10 Parosh Aziz Abdulla , Mohamed Faouzi Atig , Adwait Godbole , Shankaranarayanan Krishna , Mihir Vahanwala

Ensuring the safety of reinforcement learning (RL) policies in high-stakes environments requires not only formal verification but also interpretability and targeted falsification. While model checking provides formal guarantees, its…

Artificial Intelligence · Computer Science 2025-06-05 Tuan Le , Risal Shefin , Debashis Gupta , Thai Le , Sarra Alqahtani

We present algorithms for checking and enforcing robustness of concurrent programs against the Total Store Ordering (TSO) memory model. A program is robust if all its TSO computations correspond to computations under the Sequential…

Programming Languages · Computer Science 2012-10-30 Ahmed Bouajjani , Egor Derevenetc , Roland Meyer

Model checking invariant properties of designs, represented as transition systems, with non-linear real arithmetic (NRA), is an important though very hard problem. On the one hand NRA is a hard-to-solve theory; on the other hand most of the…

Logic in Computer Science · Computer Science 2018-01-29 Alessandro Cimatti , Alberto Griggio , Ahmed Irfan , Marco Roveri , Roberto Sebastiani

Probabilistic pushdown automata (pPDA) are a standard operational model for programming languages involving discrete random choices and recursive procedures. Temporal properties are useful for specifying the chronological order of events…

Formal Languages and Automata Theory · Computer Science 2024-02-14 Tobias Winkler , Christina Gehnen , Joost-Pieter Katoen

We study the complexity relationship between three models of unbounded memory automata: nu-automata ($\nu$-A), Layered Memory Automata (LaMA)and History-Register Automata (HRA). These are all extensions of finite state automata with…

Formal Languages and Automata Theory · Computer Science 2023-07-10 Clément Bertrand , Cinzia Di Giusto , Hanna Klaudel , Damien Regnault

We study mechanisms that permit program components to express role constraints on clients, focusing on programmatic security mechanisms, which permit access controls to be expressed, in situ, as part of the code realizing basic…

Programming Languages · Computer Science 2015-07-01 Radha Jagadeesan , Alan Jeffrey , Corin Pitcher , James Riely

Remote Memory Access (RMA) is an emerging mechanism for programming high-performance computers and datacenters. However, little work exists on resilience schemes for RMA-based applications and systems. In this paper we analyze fault…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-10-20 Maciej Besta , Torsten Hoefler

This paper presents a {theoretical study} of the problem of verifying linearizability at runtime, where one seeks for a concurrent algorithm for verifying that the current execution of a given concurrent shared object implementation is…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-11-14 Armando Castañeda , Gilde Valeria Rodríguez

Runtime verification is an area of formal methods that studies the dynamic analysis of execution traces against formal specifications. Typically, the two main activities in runtime verification efforts are the process of creating monitors…

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