English
Related papers

Related papers: Context-Bounded Verification of Thread Pools

200 papers

We study the verification of distributed systems where processes are finite automata with access to a shared pool of locks. We consider objectives that are boolean combinations of local regular constraints. We show that the problem,…

Formal Languages and Automata Theory · Computer Science 2022-10-17 Corto Mascle

The pooling problem is a classical NP-hard problem in the chemical process and petroleum industries. This problem is modeled as a nonlinear, nonconvex network flow problem in which raw materials with different specifications are blended in…

Optimization and Control · Mathematics 2023-06-21 Mosayeb Jalilian , Burak Kocuk

Unsafe memory accesses in programs written using popular programming languages like C/C++ have been among the leading causes for software vulnerability. Prior memory safety checkers such as SoftBound enforce memory spatial safety by…

Programming Languages · Computer Science 2019-07-10 Yurong Chen , Hongfa Xue , Tian Lan , Guru Venkataramani

This work utilizes the plethora of work on verification of sequential programs for the purpose of verifying concurrent programs. We reduce the verification of a concurrent program to a series of verification tasks of sequential programs.…

Programming Languages · Computer Science 2021-06-03 Dan Rasin , Orna Grumberg , Sharon Shoham

In this paper, we study the program-point reachability problem of concurrent pushdown systems that communicate via unbounded and unordered message buffers. Our goal is to relax the common restriction that messages can only be retrieved by a…

Logic in Computer Science · Computer Science 2014-01-27 Jonathan Kochems , C-H Luke Ong

A key computational question underpinning the automated testing and verification of concurrent programs is the consistency question - given a partial execution history, can it be completed in a consistent manner? Due to its importance,…

Programming Languages · Computer Science 2025-12-02 Zheng Shi , Lasse Møldrup , Umang Mathur , Andreas Pavlogiannis

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

In typical embedded applications, the precise execution time of the program does not matter, and it is sufficient to meet a real-time deadline. However, modern applications in information security have become much more time-sensitive, due…

Cryptography and Security · Computer Science 2020-05-07 Pantea Kiaei , Patrick Schaumont

Transformer-based embedding models frequently exhibit geometric pathologies, such as anisotropy and length-induced representation collapse, which can degrade downstream retrieval performance. While prior work often attributes these issues…

Computation and Language · Computer Science 2026-05-25 Hang Gao , Wujiang Xu , Kai Mei , Dimitris N. Metaxas

The Windows Scheduling Problem, also known as the Pinwheel Problem, is to schedule periodic jobs subject to their processing frequency demands. Instances are given as a set of jobs that have to be processed infinitely often such that the…

Computational Complexity · Computer Science 2014-10-28 Tobias Jacobs , Salvatore Longo

Event-driven programming is a popular paradigm where the flow of execution is controlled by two features: (1) shared memory and (2) sending and receiving of messages between multiple handler threads (just called handler). Each handler has a…

Programming Languages · Computer Science 2025-08-12 Parosh Aziz Abdulla , Mohamed Faouzi Atig , R. Govind , Samuel Grahn , Ramanathan S. Thinniyam

A class of languages C is perfect if it is closed under Boolean operations and the emptiness problem is decidable. Perfect language classes are the basis for the automata-theoretic approach to model checking: a system is correct if the…

Formal Languages and Automata Theory · Computer Science 2012-08-28 Javier Esparza , Pierre Ganty , Rupak Majumdar

In some models of parallel computation, jobs are split into smaller tasks and can be executed completely asynchronously. In other situations the parallel tasks have constraints that require them to synchronize their start and possibly…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-12-17 Brenton Walker , Markus Fidler

Background: Multitasking is usual in software development. It is the ability to stop working on a task, switch to another, and return eventually to the first one, as needed or as scheduled. Multitasking, however, comes at a cognitive cost:…

Software Engineering · Computer Science 2020-06-24 Karina Kohl , Bogdan Vasilescu , Rafael Prikladnicki

We develop new methods to statically bound the resources needed for the execution of systems of concurrent, interactive threads. Our study is concerned with a \emph{synchronous} model of interaction based on cooperative threads whose…

Programming Languages · Computer Science 2007-06-13 Roberto Amadio , Silvano Dal Zilio

We consider the broad problem of analyzing safety properties of asynchronous concurrent programs under arbitrary thread interleavings. Delay-bounded deterministic scheduling, introduced in prior work, is an efficient bug-finding technique…

Programming Languages · Computer Science 2021-05-18 Andrew Johnson , Thomas Wahl

We address the problem of efficient verification of multi-threaded programs running over Total Store Order (TSO) memory model. It has been shown that even with finite data domain programs, the complexity of control state reachability under…

Logic in Computer Science · Computer Science 2016-06-20 Chinmay Narayan , Subodh Sharma , S. Arun-Kumar

Terms are one of the fundamental mathematical concepts in computing. E.g. every expression characterisable by a context free grammar is a term. We developed a thread-safe Term Library. The biggest challenge is to implement hyper-efficient…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-08-15 J. F. Groote , M. Laveaux , P. H. M. van Spaendonck

We study the problem of scheduling jobs on fault-prone machines communicating via a shared channel, also known as multiple-access channel. We have $n$ arbitrary length jobs to be scheduled on $m$ identical machines, $f$ of which are prone…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-26 Marek Klonowski , Dariusz R. Kowalski , Jarosław Mirek , Prudence W. H. Wong

We address the model checking problem for shared memory concurrent programs modeled as multi-pushdown systems. We consider here boolean programs with a finite number of threads and recursive procedures. It is well-known that the model…

Logic in Computer Science · Computer Science 2012-06-01 Mohamed Faouzi Atig , Ahmed Bouajjani , K. Narayan Kumar , Prakash Saivasan