English
Related papers

Related papers: Trace Validation of Unmodified Concurrent Systems …

200 papers

To maximize the information gained from a single execution when verifying a concurrent system, one can derive all concurrency-aware equivalent executions and check them against linear specifications. This paper offers an alternative…

Logic in Computer Science · Computer Science 2025-07-08 Martin Leucker

TLA+ is a formal language for specifying systems, including distributed algorithms, that is supported by powerful verification tools. In this work we present a framework for relating traces of distributed programs to high-level…

Programming Languages · Computer Science 2024-09-18 Horatiu Cirstea , Markus A. Kuppe , Benjamin Loillier , Stephan Merz

In the past decade, many techniques have been developed to prove linearizability, the gold standard of correctness for concurrent data structures. Intuitively, linearizability requires that every operation on a concurrent data structure…

Programming Languages · Computer Science 2025-09-09 Zachary Kent , Ugur Y. Yavuz , Siddhartha Jayanti , Stephanie Balzer , Guy Blelloch

Proving linearizability of concurrent data structures is crucial for ensuring their correctness, but is challenging especially for implementations that employ sophisticated synchronization techniques. In this paper, we propose a new proof…

Software Engineering · Computer Science 2025-09-16 Tangliu Wen

The rapid advancement of large language models (LLMs) in recent years has revolutionized the AI landscape. However, the deployment model and usage of LLM services remain highly centralized, creating significant trust issues and costs for…

Cryptography and Security · Computer Science 2025-10-06 Hongbo Liu , Jiannong Cao , Bo Yang , Dongbin Bai , Yinfeng Cao , Xiaoming Shen , Yinan Zhang , Jinwen Liang , Shan Jiang , Mingjin Zhang

Offline runtime verification involves the static analysis of executions of a system against a specification. For distributed systems, it is generally not possible to characterize executions in the form of global traces, given the absence of…

Software Engineering · Computer Science 2024-03-06 Erwan Mahe , Boutheina Bannour , Christophe Gaston , Arnault Lapitre , Pascale Le Gall

Efficient implementations of concurrent objects such as atomic collections are essential to modern computing. Programming such objects is error prone: in minimizing the synchronization overhead between concurrent object invocations, one…

Programming Languages · Computer Science 2017-07-04 Ahmed Bouajjani , Constantin Enea , Chao Wang

Automatic software verification is a valuable means for software quality assurance. However, automatic verification and in particular software model checking can be time-consuming, which hinders their practical applicability e.g., the use…

Logic in Computer Science · Computer Science 2026-01-16 Max Barth , Marie-Christine Jakobs

The verification of linearizability -- a key correctness criterion for concurrent objects -- is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use \emph{branching} bisimulation instead. Our approach is…

Programming Languages · Computer Science 2024-01-03 Xiaoxiao Yang , Joost-Pieter Katoen , Hao Wu

Modern highly-concurrent search data structures, such as search trees, obtain multi-core scalability and performance by having operations traverse the data structure without any synchronization. As a result, however, these algorithms are…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-12 Yotam M. Y. Feldman , Artem Khyzha , Constantin Enea , Adam Morrison , Aleksandar Nanevski , Noam Rinetzky , Sharon Shoham

We present a formal framework for proving the correctness of set implementations backed by binary-search-tree (BST) and linked lists, which are often difficult to prove correct using automation. This is because many concurrent set…

Programming Languages · Computer Science 2023-05-16 Uri Abraham , Avi Hayoun

The problem of checking a logged event trace against a temporal logic specification arises in many practical cases. Unfortunately, known algorithms for an expressive logic like MTL (Metric Temporal Logic) do not scale with respect to two…

Software Engineering · Computer Science 2015-08-27 Marcello M. Bersani , Domenico Bianculli , Carlo Ghezzi , Srdan Krstic , Pierluigi San Pietro

The two major systems of formal verification are model checking and algebraic model-based testing. Model checking is based on some form of temporal logic such as linear temporal logic (LTL) or computation tree logic (CTL). One powerful and…

Logic in Computer Science · Computer Science 2019-01-31 Stefan D. Bruda , Sunita Singh , A. F. M. Nokib Uddin , Zhiyu Zhang , Rui Zuo

We consider temporal logic verification of (possibly nonlinear) dynamical systems evolving over continuous state spaces. Our approach combines automata-based verification and the use of so-called barrier certificates. Automata-based…

Formal Languages and Automata Theory · Computer Science 2014-03-17 Tichakorn Wongpiromsarn , Ufuk Topcu , Andrew Lamperski

We introduce a machine learning approach to model checking temporal logic, with application to formal hardware verification. Model checking answers the question of whether every execution of a given system satisfies a desired temporal logic…

Logic in Computer Science · Computer Science 2024-11-01 Mirco Giacobbe , Daniel Kroening , Abhinandan Pal , Michael Tautschnig

In order to fully unlock the transformative power of distributed ledgers and blockchains, it is crucial to develop innovative consensus algorithms that can overcome the obstacles of security, scalability, and interoperability, which…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-10-16 Amirhossein Taherpour , Xiaodong Wang

Path checking, the special case of the model checking problem where the model under consideration is a single path, plays an important role in monitoring, testing, and verification. We prove that for linear-time temporal logic (LTL), path…

Logic in Computer Science · Computer Science 2019-03-14 Lars Kuhtz , Bernd Finkbeiner

Linearizability is the standard correctness criterion concurrent data structures such as stacks and queues. It allows to establish observational refinement between a concurrent implementation and an atomic reference implementation.Proving…

Programming Languages · Computer Science 2017-02-10 Ahmed Bouajjani , Michael Emmi , Constantin Enea , Suha Orhun Mutluergil

Smart contracts have enabled blockchain systems to evolve from simple cryptocurrency platforms, such as Bitcoin, to general transactional systems, such as Ethereum. Catering for emerging business requirements, a new architecture called…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-03-24 Pingcheng Ruan , Dumitrel Loghin , Quang-Trung Ta , Meihui Zhang , Gang Chen , Beng Chin Ooi

Software model checking is a verification technique which is widely used for checking temporal properties of software systems. Even though it is a property verification technique, its common usage in practice is in "bug finding", that is,…

Software Engineering · Computer Science 2022-04-20 Ruijie Meng , Zhen Dong , Jialin Li , Ivan Beschastnikh , Abhik Roychoudhury
‹ Prev 1 2 3 10 Next ›