Deciding Serializability in Network Systems
Guy Amir, Mark Barbone, Nicolas Amat, Jules Jacobs

TL;DR
This paper introduces the SER modeling language and an automated decision procedure to verify serializability in network systems, effectively handling complex, real-world concurrent programs.
Contribution
It presents the first end-to-end automated method for serializability verification that produces certificates or counterexamples, with optimizations for scalability.
Findings
Successfully verifies serializability of real-world network programs
Reduces serializability checking to Petri net reachability queries
Handles unbounded concurrency with practical efficiency
Abstract
We present the SER modeling language for automatically verifying serializability of concurrent programs, i.e., whether every concurrent execution of the program is equivalent to some serial execution. SER programs are suitably restricted to make this problem decidable, while still allowing for an unbounded number of concurrent threads of execution, each potentially running for an unbounded number of steps. Building on prior theoretical results, we give the first automated end-to-end decision procedure that either proves serializability by producing a checkable certificate, or refutes it by producing a counterexample trace. We also present a network-system abstraction to which SER programs compile. Our decision procedure then reduces serializability in this setting to a Petri net reachability query. Furthermore, in order to scale, we curtail the search space via multiple optimizations,…
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
TopicsDistributed systems and fault tolerance · Formal Methods in Verification · Real-Time Systems Scheduling
