CTPLAN: A Planning-Based Approach to Automatically Detecting Flaws in Concurrent Algorithms
Abstract
Development of correct algorithms for the synchronization of concurrently executing processes can be a difficult task. Most concurrent program debuggers have been developed in order to assist, the programmer once an error has appeared. This paper takes an alternate approach of attempting to discover the presence of possibly undetected flaws. This approach is embodied in a prototype system (CTPLAN) that may be used to develop tests for common flaws in concurrent programs. To illustrate our methodology, CTPLAN has been used to detect errors in several algorithms, most notably the incorrect simplification of Dekker's algorithm described in [Hym66]. CTPLAN can in principle be used to detect indeterminacy, deadlock, livelock, violation of mutual exclusion, unfairness, and starvation.
BibTeX
@inproceedings{Frincke-al:ASE91,
author = {Deborah A. Frincke and
Myla Archer and
Karl N. Levitt},
title = {{CTPLAN:} A {Planning-Based} Approach to Automatically Detecting Flaws in Concurrent Algorithms},
booktitle = {ASE},
pages = {151--160},
publisher = {{IEEE} Computer Society},
year = {1991},
}