scispace - formally typeset
Journal ArticleDOI

Complexity of analyzing the synchronization structure of concurrent programs

Richard N. Taylor
- 01 Apr 1983 - 
- Vol. 19, Iss: 1, pp 57-84
Reads0
Chats0
TLDR
This paper formalizes the notion of the synchronization structure of concurrent programs that use the rendezvous (or similar) mechanism for achieving synchronization and presents complexity results which indicate what may be expected and shed light on the difficulty of correctly constructing concurrent systems.
Abstract
Foundational to verification of some aspects of communicating concurrent systems is knowledge of the synchronization which may occur during execution. The synchronization determines the actions that may occur in parallel, may determine program data flow, and may also lead to inherently erroneous situations (e.g. deadlock). This paper formalizes the notion of the synchronization structure of concurrent programs that use the rendezvous (or similar) mechanism for achieving synchronization. The formalism is oriented towards supporting verification as performed by automated static program analysis. Complexity results are presented which indicate what may be expected in this area and which also shed light on the difficulty of correctly constructing concurrent systems. Specifically, most of the analysis tasks considered are shown to be intractable.

read more

Citations
More filters
Journal ArticleDOI

The NP-completeness column: An ongoing guide

TL;DR: This is the fourteenth edition of a quarterly column that provides continuing coverage of new developments in the theory of NP-completeness, and readers who have results they would like mentioned (NP-hardness, PSPACE- hardness, polynomialtime-solvability, etc.), or open problems they wouldlike publicized, should send them to David S. Johnson.
Journal ArticleDOI

Context-sensitive synchronization-sensitive analysis is undecidable

TL;DR: The article shows that an analysis that is simultaneously both context-sensitive and synchronization-sensitive (that is, a context- sensitive analysis that precisely takes into account the constraints on execution order imposed by the synchronization statements in the program) is impossible even for the simplest of analysis problems.
Journal ArticleDOI

Debugging Ada Tasking Programs

TL;DR: Debuggers for parallel programs have to be more than passive information gatherers-they should automatically detect errors and extend existing tools that detect deadlock.
Proceedings ArticleDOI

Data flow analysis for verifying properties of concurrent programs

TL;DR: An approach, based on data flow analysis, that can provide cost-effective analysis of concurrent programs with respect to explicitly stated correctness properties and implemented a prototype toolset that automates the analysis for programs with explicit tasking and rendezvous style communication.
Book

Distributed Algorithms for Message-Passing Systems

TL;DR: This book constitutes an introduction to distributed computing and is suitable for advanced undergraduate students or graduateStudents in computer science and computer engineering, graduate students in mathematics interested in distributed computing, and practitioners and engineers involved in the design and implementation of distributed applications.
References
More filters
Book

Computers and Intractability: A Guide to the Theory of NP-Completeness

TL;DR: The second edition of a quarterly column as discussed by the authors provides a continuing update to the list of problems (NP-complete and harder) presented by M. R. Garey and myself in our book "Computers and Intractability: A Guide to the Theory of NP-Completeness,” W. H. Freeman & Co., San Francisco, 1979.
Journal ArticleDOI

Communicating sequential processes

TL;DR: It is suggested that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method.
Journal ArticleDOI

Monitors: an operating system structuring concept

TL;DR: In this paper, the authors develop Brinch-Hansen's concept of a monitor as a method of structuring an operating system and describe a possible method of implementation in terms of semaphores and give a suitable proof rule.