The Center for Education and Research in Information Assurance and Security (CERIAS)

The Center for Education and Research in
Information Assurance and Security (CERIAS)

Two Dimensional Concurrent Program Debugging

Author

Lu Xu

Entry type

phdthesis

Abstract

Debugging, which entails locating program faults responsible for a program failure, is more difficult in concurrent programs than in sequential programs because of the inherent difficulty of understanding task interactions. In addition to sequential debugging facilities for individual threads of control, specialized facilities are needed to debug interactions among tasks. Integration of the two kinds of debugging facilities is motivated by the observation that a program fault can be manifested as a sequence of erroneous program states and erroneous coordinates among tasks alternately before causing an observable failure. Localization of a fault may require facilities to trace the causes of a failure through both sequential computation and interactions. In this dissertation, we propose a two dimensional model to debugging of concurrent programs. Different and specialized facilities are provided for sequential debugging and concurrent debugging, respectively. These two "dimensions" are integrated in a way that supports tracing the effect of a program fault both within and across tasks. We present a design of concurrent debugging facilities based on the model. As the key component of the design, we introduce and define a customized dynamic dependence analysis called augmented concurrent dynamic slicing. As many concurrent programs are nondeterministic, program instrumentation may perturb a program to the extent that it fails to reproduce the error-revealing behavior. Our analysis requires less execution information than required by prior analyses, and provide flexible control of the tradeoff between precise analysis and behavior perturbation. Thus, our analysis is applicable to time-sensitive programs.

Key alpha

Xu

Note

December 1995

School

Purdue University

Publication Date

1900-01-01

Contents

1. Introduction 2. Review of Related Work 3. A New Debugging Model 4. A Concurrent Program Debugger 5. Program Instrumentation 6. Prototype Implementation: 2DCPD 7. Conclusions and Future Directions

Language

English

Location

A hard-copy of this is in REC 216

BibTex-formatted data

To refer to this entry, you may select and copy the text below and paste it into your BibTex document. Note that the text may not contain all macros that BibTex supports.