Hitting Families of Schedules for Asynchronous Programs
Dmitry Chistikov, Rupak Majumdar, Filip Niksic

TL;DR
This paper introduces methods for efficiently finding small sets of schedules that can expose bugs in asynchronous programs modeled by partial orders, especially when the event structure forms a tree.
Contribution
It provides explicit constructions of small $d$-hitting families of schedules for tree-structured partial orders, improving testing efficiency for concurrent systems.
Findings
Small $d$-hitting families exist for tree-structured partial orders.
Balanced trees allow for polylogarithmic size $d$-hitting families.
The approach reduces the complexity of bug detection in concurrent programs.
Abstract
We consider the following basic task in the testing of concurrent systems. The input to the task is a partial order of events, which models actions performed on or by the system and specifies ordering constraints between them. The task is to determine if some scheduling of these events can result in a bug. The number of schedules to be explored can, in general, be exponential. Empirically, many bugs in concurrent programs have been observed to have small bug depth; that is, these bugs are exposed by every schedule that orders specific events in a particular way, irrespective of how the other events are ordered, and is small compared to the total number of events. To find all bugs of depth , one needs to only test a -hitting family of schedules: we call a set of schedules a -hitting family if for each set of events, and for each allowed ordering of these events,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Algorithms and Data Compression · Formal Methods in Verification
