Home /Research /Verifying periodic programs with priority inheritance locks
OTHER

Verifying periodic programs with priority inheritance locks

Sagar Chaki, Arie Gurfinkel, Ofer Strichman

Year
2013
Citations
8

Abstract

Periodic real-time programs are ubiquitous: they control robots, radars, medical equipment, etc. They consist of a set of tasks, each of which executes (in a separate thread) a specific job, periodically. A common synchronization mechanism for such programs is via Priority Inheritance Protocol (PIP) locks. PIP locks have low programming overhead, but cause deadlocks if used incorrectly. We address the problem of verifying safety and deadlock freedom of such programs. Our approach is based on sequentialization - converting the periodic program to an equivalent (non-deterministic) sequential program, and verifying it with a model checker. Our algorithm, called pipVerif, is iterative and optimal - it terminates after sequentializing with the smallest number of rounds required to either find a counterexample, or prove the program safe and deadlock-free. We implemented pipVerif and validated it on a number of examples derived from a robot controller.

Keywords

Computer scienceThread (computing)DeadlockSynchronization (alternating current)Distributed computingLock (firearm)Overhead (engineering)Concurrency controlSet (abstract data type)Programming language

Related papers

Browse all OTHER papers