Report Number: CSL-TR-84-262
Institution: Stanford University, Computer Systems Laboratory
Title: DEBUGGING ADA TASKING PROBLEMS
Author: Helmhold, David
Author: Luckham, David
Date: July 1984
Abstract: A new class of errors, not found in sequential languages, can
result when the tasking constructs of Ada are used. These
errors are called deadness errors and arise when task
communication fails. Since deadness errors often occur
intermittently, they are particularly hard to detect and
diagnose. Previous papers describe the theory and
implementation of runtime monitors to detect deadness errors
in tasking programs. The problems of detection and
description of errors are different. Even when a dead state
is detected, giving adequate diagnostics that enable the
programmer to locate its cause in the Ada text is difficult.
This paper discusses the use of simple diagnostic
descriptions based on Ada tasking concepts. These diagnostics
are implemented in an experimental runtime monitor. Similar
facilities could be implemented in task debuggers in
forthcoming Ada support environments. Their usefulness and
shortcomings are illustrated in an example experiment with
the runtime monitor. Possible future directions in task error
monitoring and diagnosis based on formal specifications are
discussed.
http://i.stanford.edu/pub/cstr/reports/csl/tr/84/262/CSL-TR-84-262.pdf