A Partial Order Reduction Technique for Event-driven Multi-threaded Programs
Pallavi Maiya (1), Rahul Gupta (1), Aditya Kanade (1), Rupak Majumdar, (2) ((1) Indian Institute of Science, (2) MPI-SWS)

TL;DR
This paper introduces a novel partial order reduction technique for event-driven multi-threaded programs that efficiently reduces the number of explored states by not treating event queues as shared objects, improving verification performance.
Contribution
The authors propose a new POR method based on dependence-covering sets that reorders events only when necessary, avoiding unnecessary reordering of events within the same thread.
Findings
Explores significantly fewer transitions than existing methods, often orders of magnitude fewer.
Proves that dependence-covering sets suffice to detect deadlocks and assertion violations.
Implemented a dynamic algorithm demonstrating effectiveness on Android application traces.
Abstract
Event-driven multi-threaded programming is fast becoming a preferred style of developing efficient and responsive applications. In this concurrency model, multiple threads execute concurrently, communicating through shared objects as well as by posting asynchronous events that are executed in their order of arrival. In this work, we consider partial order reduction (POR) for event-driven multi-threaded programs. The existing POR techniques treat event queues associated with threads as shared objects and thereby, reorder every pair of events handled on the same thread even if reordering them does not lead to different states. We do not treat event queues as shared objects and propose a new POR technique based on a novel backtracking set called the dependence-covering set. Events handled by the same thread are reordered by our POR technique only if necessary. We prove that exploring…
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
TopicsFormal Methods in Verification · Software Testing and Debugging Techniques · Software Reliability and Analysis Research
