On Reachability in Parameterized Phaser Programs
International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS) 2019
We address the problem of statically checking safety properties (such as assertions or deadlocks) for parameterized phaser programs. Phasers embody a non-trivial and modern synchronization construct used to orchestrate executions of parallel tasks. This generic construct supports dynamic parallelism with runtime registrations and deregistrations of spawned tasks. It generalizes many synchronization patterns such as collective and point-to-point schemes. For instance, phasers can enforce barriers or producer-consumer synchronization patterns among all or subsets of the running tasks. We consider in this work programs that may generate arbitrarily many tasks and phasers. We propose an exact procedure that is guaranteed to terminate even in the presence of unbounded phases and arbitrarily many spawned tasks. In addition, we prove undecidability results for several problems on which our procedure cannot be guaranteed to terminate.
[GRHE19] Zeinab Ganjei, Ahmed Rezine, Ludovic Henrio, Petru Eles, Zebo Peng, "On Reachability in Parameterized Phaser Programs", International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS) 2019