English
Related papers

Related papers: Gobra: Modular Specification and Verification of G…

200 papers

Neural networks are commonly used in safety-critical real-world applications. Unfortunately, the predicted output is often highly sensitive to small, and possibly imperceptible, changes to the input data. Proving that either no such…

Machine Learning · Computer Science 2021-02-03 Christopher Brix , Thomas Noll

We present a source-to-source transformation framework, GOCC, that consumes lock-based pessimistic concurrency programs in the Go language and transforms them into optimistic concurrency programs that use Hardware Transactional Memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-06-04 Zhizhou Zhang , Milind Chabbi , Adam Welc , Timothy Sherwood

In model-based reinforcement learning for safety-critical control systems, it is important to formally certify system properties (e.g., safety, stability) under the learned controller. However, as existing methods typically apply formal…

Machine Learning · Computer Science 2023-03-22 Yixuan Wang , Simon Zhan , Zhilu Wang , Chao Huang , Zhaoran Wang , Zhuoran Yang , Qi Zhu

Proving correctness of distributed or concurrent algorithms is a mind-challenging and complex process. Slight errors in the reasoning are difficult to find, calling for computer-checked proof systems. In order to build computer-checked…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-21 Armando Castañeda , Aurélie Hurault , Philippe Quéinnec , Matthieu Roy

Current static verification techniques support a wide range of programs. However, such techniques only support complete and detailed specifications, which places an undue burden on users. To solve this problem, prior work proposed gradual…

This position paper argues that computer science conferences should require tamper-evident, nonrepudiable attestations of experimental results. We name the underlying problem experiment nonrepudiation: a compliant protocol must bind the…

Cryptography and Security · Computer Science 2026-05-12 Mamadou K. Keita , Christopher Homan

Among formal methods, the deductive verification approach allows establishing the strongest possible formal guarantees on critical software. The downside is the cost in terms of human effort required to design adequate formal specifications…

Software Engineering · Computer Science 2018-11-28 Sylvain Dailler , Claude Marché , Yannick Moy

Group languages are regular languages recognized by finite groups, or equivalently by finite automata in which each letter induces a permutation on the set of states. We investigate the separation problem for this class of languages: given…

Formal Languages and Automata Theory · Computer Science 2023-05-01 Thomas Place , Marc Zeitoun

Synchronous languages rely on formal methods to ease the development of applications in an efficient and reusable way. Formal methods have been advocated as a means of increasing the reliability of systems, especially those which are safety…

Programming Languages · Computer Science 2009-04-20 Annie Ressouche , Daniel Gaffé , Valérie Roy

Iteration is a programming operation that traditionally refers to visiting the elements of a data structure in sequence. However, modern programming systems such as Rust, Java, and C# generalise iteration far beyond the traditional use…

Logic in Computer Science · Computer Science 2022-10-19 Aurel Bílý , Jonas Hansen , Peter Müller , Alexander J. Summers

Concurrent programming under weak memory concurrency faces substantial challenges to ensure correctness due to program behaviors that cannot be explained by thread interleaving, a.k.a. sequential consistency. While several program logics…

Logic in Computer Science · Computer Science 2026-04-24 Ömer Şakar , Soham Chakraborty , Marieke Huisman , Anton Wijs

Large Language Models (LLMs) have shown promise for program translation, particularly for migrating systems code to memory-safe languages such as Rust. However, existing approaches struggle when source programs depend on external libraries:…

Software Engineering · Computer Science 2026-02-24 Hanliang Zhang , Arindam Sharma , Cristina David , Meng Wang , Brandon Paulsen , Daniel Kroening , Wenjia Ye , Taro Sekiyama

In this dissertation we describe two contributions to the state of the art in reasoning about liveness and safety, respectively. Programs for multiprocessor machines commonly perform busy waiting for synchronization. We propose the first…

Logic in Computer Science · Computer Science 2024-03-15 Tobias Reinhard

Multiagent AI systems require consistent communication, but we lack methods to verify that agents share the same understanding of the terms used. Natural language is interpretable but vulnerable to semantic drift, while learned protocols…

Artificial Intelligence · Computer Science 2026-03-20 Philipp Schoenegger , Matt Carlson , Chris Schneider , Chris Daly

Cache coherence protocols based on self-invalidation and self-downgrade have recently seen increased popularity due to their simplicity, potential performance efficiency, and low energy consumption. However, such protocols result in memory…

Logic in Computer Science · Computer Science 2023-06-22 Parosh Aziz Abdulla , Mohamed Faouzi Atig , Stefanos Kaxiras , Carl Leonardsson , Alberto Ros , Yunyun Zhu

In this paper, we study the problem of formal verification for Answer Set Programming (ASP), namely, obtaining a formal proof showing that the answer sets of a given (non-ground) logic program P correctly correspond to the solutions to the…

Logic in Computer Science · Computer Science 2020-09-23 Pedro Cabalar , Jorge Fandinno , Yuliya Lierler

Gradual verification, which supports explicitly partial specifications and verifies them with a combination of static and dynamic checks, makes verification more incremental and provides earlier feedback to developers. While an abstract,…

Programming Languages · Computer Science 2023-11-14 Conrad Zimmerman , Jenna DiVincenzo , Jonathan Aldrich

Static verification is a powerful method for enhancing software quality, but it demands significant human labor and resources. This is particularly true of static verifiers that reason about heap manipulating programs using an ownership…

Software Engineering · Computer Science 2025-01-06 Wen Fan , Marilyn Rego , Xin Hu , Sanya Dod , Zhaorui Ni , Danning Xie , Jenna DiVincenzo , Lin Tan

The use of autonomous vehicles in real-world applications is often precluded by the difficulty of providing safety guarantees for their complex controllers. The simulation-based testing of these controllers cannot deliver sufficient safety…

Software Engineering · Computer Science 2025-03-21 Simon Foster , Mario Gleirscher , Radu Calinescu

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