English
Related papers

Related papers: Static Application-Level Race Detection in STM Has…

200 papers

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

The behavior of concurrent, asynchronous procedures depends in general on the call context, because of the global protocol that governs scheduling. This context cannot be specified with the state-based Hoare-style contracts common in…

Logic in Computer Science · Computer Science 2023-10-09 Reiner Hähnle , Eduard Kamburjan , Marco Scaletta

When programming network functions, changes within a packet tend to have consequences---side effects which must be accounted for by network programmers or administrators via arbitrary logic and an innate understanding of dependencies.…

Networking and Internet Architecture · Computer Science 2019-07-02 Zeeshan Lakhani , Heather Miller

Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a common and useful technique that helps programmers detect incorrect program behaviors. This is specially true in dynamic languages such as…

Programming Languages · Computer Science 2018-04-09 Maximiliano Klemen , Nataliia Stulova , Pedro Lopez-Garcia , José F. Morales , Manuel V. Hermenegildo

In order to converge in the presence of concurrent updates, modern eventually consistent replication systems rely on causality information and operation semantics. It is relatively easy to use semantics of high-level operations on…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-17 Marek Zawirski , Carlos Baquero , Annette Bieniusa , Nuno Preguiça , Marc Shapiro

Even though much progress has been made in identifying and mitigating smart contract vulnerabilities, we often hear about coding or design issues leading to great financial losses. This paper presents our progress toward finding defects…

Logic in Computer Science · Computer Science 2024-11-01 Stefan-Claudiu Susan

We consider the problem of static deadlock detection for programs in the Go programming language which make use of synchronous channel communications. In our analysis, regular expressions extended with a fork operator capture the…

Programming Languages · Computer Science 2016-09-05 Kai Stadtmüller , Martin Sulzmann , Peter Thiemann

This paper introduces a new technique for dynamic verification of component-based real-time systems based on statistical inference. Verifying such systems requires checking two types of properties: functional and real-time. For functional…

Software Engineering · Computer Science 2015-01-13 Chandrakana Nandi , Aurelien Monot , Manuel Oriol

Writing concurrent programs is notoriously hard due to scheduling non-determinism. The most common concurrency bugs are data races, which are accesses to a shared resource that can be executed concurrently. Dynamic data-race prediction is…

Logic in Computer Science · Computer Science 2020-05-05 Umang Mathur , Andreas Pavlogiannis , Mahesh Viswanathan

Parallel programming in high-performance computing depends on low-level APIs such as MPI, requiring users to manage synchronization and resources manually. Several correctness checking tools exist to help bug-free code development, though…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-03-04 Yussur Mustafa Oraji , Alexander Hück , Christian Bischof

In this paper we are interested in bounding the number of instructions taken to process transactions. The main result is a multiversion transactional system that supports constant delay (extra instructions beyond running in isolation) for…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-05-17 Naama Ben-David , Guy E. Blelloch , Yihan Sun , Yuanhao Wei

We present a statically typed embedding of relational programming (specifically a dialect of miniKanren with disequality constraints) in Haskell. Apart from handling types, our dialect extends standard relational combinator repertoire with…

Programming Languages · Computer Science 2024-09-02 Nikolai Kudasov , Artem Starikov

In graph transformation, a conflict describes a situation where two alternative transformations cannot be arbitrarily serialized. When enriching graphs with attributes, existing conflict detection techniques typically report a conflict…

Software Engineering · Computer Science 2015-04-13 Géza Kulcsár , Frederik Deckwerth , Malte Lochau , Gergely Varró , Andy Schürr

Software Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing synchronization and concurrency issues with multi-threaded programming in multi-core systems. Client programs use STMs…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-03-25 Ved Prakash Chaudhary , Chirag Juyal , Sandeep Kulkarni , Sweta Kumari , Sathya Peri

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

Concurrent accesses to databases are typically grouped in transactions which define units of work that should be isolated from other concurrent computations and resilient to failures. Modern databases provide different levels of isolation…

Databases · Computer Science 2025-07-16 Ahmed Bouajjani , Constantin Enea , Enrique Román-Calvo

Dynamic data race detectors are indispensable for flagging concurrency errors in software, but their high runtime overhead limits their adoption. This overhead stems primarily from pervasive instrumentation of memory accesses - a…

Programming Languages · Computer Science 2025-12-08 Alexey Paznikov , Andrey Kogutenko , Yaroslav Osipov , Michael Schwarz , Umang Mathur

Haskell functions are defined as a series of clauses consisting of patterns that are matched against the arguments in the order of definition. In case an input is not matched by any of the clauses, an error occurs. Therefore it is desirable…

Programming Languages · Computer Science 2019-09-11 Pavel Kalvoda , Tom Sydney Kerckhove

In operating system development, concurrency poses significant challenges. It is difficult for humans to manually review concurrent behaviors or to write test cases covering all possible executions, often resulting in critical bugs.…

Software Engineering · Computer Science 2025-03-13 Akira Hasegawa , Ryuta Kambe , Toshiaki Aoki , Yuuki Takano

This paper presents Haskell#, a coordination language targeted at the efficient implementation of parallel scientific applications on loosely coupled parallel architectures, using the functional language Haskell. Examples of applications,…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-08-21 Francisco Heron de Carvalho Junior , Rafael Dueire Lins