Quantitative Synthesis for Concurrent Programs
Pavol Cerny, Krishnendu Chatterjee, Thomas Henzinger, Arjun, Radhakrishna, Rohit Singh

TL;DR
This paper introduces an algorithmic approach for automatically synthesizing concurrent programs that are both correct and optimized for performance based on a parametric model, addressing the challenge of nondeterminism in synchronization.
Contribution
It presents a novel method combining game-theoretic techniques with practical algorithms to synthesize concurrent programs optimized for performance while ensuring correctness.
Findings
The synthesis problem is NEXP-complete.
The proposed algorithm efficiently handles practical concurrent programs.
A prototype tool successfully synthesizes programs for various architectures.
Abstract
We present an algorithmic method for the quantitative, performance-aware synthesis of concurrent programs. The input consists of a nondeterministic partial program and of a parametric performance model. The nondeterminism allows the programmer to omit which (if any) synchronization construct is used at a particular program location. The performance model, specified as a weighted automaton, can capture system architectures by assigning different costs to actions such as locking, context switching, and memory and cache accesses. The quantitative synthesis problem is to automatically resolve the nondeterminism of the partial program so that both correctness is guaranteed and performance is optimal. As is standard for shared memory concurrency, correctness is formalized "specification free", in particular as race freedom or deadlock freedom. For worst-case (average-case) performance, we…
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 · Distributed systems and fault tolerance · Real-Time Systems Scheduling
