English
Related papers

Related papers: Formal Verification of Chase-Lev Deque in Concurre…

200 papers

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

The Check tools automate formal memory consistency model and security verification of processors by analyzing abstract models of microarchitectures, called $\mu$SPEC models. Despite the efficacy of this approach, a verification gap between…

Cryptography and Security · Computer Science 2024-10-01 Yao Hsiao , Nikos Nikoleris , Artem Khyzha , Dominic P. Mulligan , Gustavo Petri , Christopher W. Fletcher , Caroline Trippel

While Chain-of-Thought (CoT) prompting enhances the reasoning capabilities of large language models, the faithfulness of the generated rationales remains an open problem for model interpretability. We propose a novel theoretical lens for…

Artificial Intelligence · Computer Science 2025-10-02 Elija Perrier

Two key synchronization paradigms for the construction of scalable concurrent data-structures are software combining and elimination. Elimination-based concurrent data-structures allow operations with reverse semantics (such as push and pop…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-07-01 Gal Bar-Nissan , Danny Hendler , Adi Suissa

While the use of formal verification techniques is well established in the development of mission-critical software, it is still rare in the production of most other kinds of software. We share our experience that a formal verification tool…

Programming Languages · Computer Science 2020-07-03 Dimitur Nikolaev Krustev

A comprehensive verification of parallel software imposes three crucial requirements on the procedure that implements it. Apart from accepting real code as program input and temporal formulae as specification input, the verification should…

Software Engineering · Computer Science 2013-04-01 Jiri Barnat , Petr Bauch

Runtime verification is the process of verifying critical behavioral properties in big complex systems, where formal verification is not possible due to state space explosion. There have been several attempts to design efficient algorithms…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-04-07 M. Ali Dorosty , Fathiyeh Faghih , Ehsan Khamespanah

The task-based dataflow programming model has emerged as an alternative to the process-centric programming model for extreme-scale applications. However, load balancing is still a challenge in task-based dataflow runtimes. In this paper, we…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-11-11 Joseph John , Josh Milthorpe , Peter Strazdins

Work Stealing has been a very successful algorithm for scheduling parallel computations, and is known to achieve high performances even for computations exhibiting fine-grained parallelism. We present a variant of \ws\ that provably avoids…

Data Structures and Algorithms · Computer Science 2019-04-30 Guilherme Rito , Hervé Paulino

The importance of preventing microarchitectural timing side channels in security-critical applications has surged in recent years. Constant-time programming has emerged as a best-practice technique for preventing the leakage of secret…

Cryptography and Security · Computer Science 2024-03-12 Lucas Deutschmann , Johannes Mueller , Mohammad Rahmani Fadiheh , Dominik Stoffel , Wolfgang Kunz

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2021-10-27 Aurel Bílý , Christoph Matheja , Peter Müller

Linearizability has become the key correctness criterion for concurrent data structures, ensuring that histories of the concurrent object under consideration are consistent, where consistency is judged with respect to a sequential history…

Logic in Computer Science · Computer Science 2015-02-03 Brijesh Dongol , John Derrick

In recent years, a number of lightweight programs have been deployed in critical domains, such as in smart contracts based on blockchain technology. Therefore, the security and reliability of such programs should be guaranteed by the most…

Programming Languages · Computer Science 2018-03-28 Zheng Yang , Hang Lei

We propose a proof-of-sequential-work (PoSW) that can be verified with only a single query to the random oracle for each random challenge. Proofs-of-sequential-work are protocols that facilitate a verifier to efficiently verify if a prover…

Cryptography and Security · Computer Science 2022-05-27 Souvik Sur

Large language models (LLMs) are increasingly used to generate requirements specifications, design documents, code, and test cases. In contrast, much less attention has been given to a more difficult assurance problem: statically verifying…

Software Engineering · Computer Science 2026-05-19 Zhi Quan Zhou , Dave Towey , Tsong Yueh Chen

A time-efficient and comprehensive verification is a fundamental part of the design process for modern computing platforms, and it becomes ever more important and critical to optimize as the latter get ever more complex. SupeRFIVe is a…

Hardware Architecture · Computer Science 2025-01-30 Andrea Galimberti , Marco Vitali , Sebastiano Vittoria , Davide Zoni

Lock-free concurrent algorithms guarantee that some concurrent operation will always make progress in a finite number of steps. Yet programmers prefer to treat concurrent code as if it were wait-free, guaranteeing that all operations always…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-11-18 Dan Alistarh , Keren Censor-Hillel , Nir Shavit

Array-intensive programs are often amenable to parallelization across many cores on a single machine as well as scaling across multiple machines and hence are well explored, especially in the domain of high-performance computing. These…

Programming Languages · Computer Science 2019-05-23 Kunal Banerjee , Chandan Karfa

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…

In the context of multi-agent systems, the rational verification problem is concerned with checking which temporal logic properties will hold in a system when its constituent agents are assumed to behave rationally and strategically in…

Logic in Computer Science · Computer Science 2020-08-14 Julian Gutierrez , Muhammad Najib , Giuseppe Perelli , Michael Wooldridge