This project addresses techniques algorithms for design and implementation of a debugging system for parallel programs. The use of flowback analysis provides information on causal relationships between events in a program's execution, without having to re-execute the program for debugging. Flowback analysis directly focuses the programmer on the cause of a problem. Two major issues are addressed: (1) making flowback analysis practical by developing a method that significantly reduces the overhead induced during program execution, and (2) extending the semantics of flowback analysis to parallel programs. Incremental tracing, using semantic analyses of the debugged program, makes the folwback analysis practical with only a small amount of trace generated during execution. Flowback analysis is extended to apply to parallel programs, handling synchronization activities, dependencies between processes, and shared memory access. A method to detect race conditions in the interactions of the co-operating processes is also described. The techniques and algorithms necessary to efficiently debugging both parallel and sequential programs are incorporated in a prototype system built on a commercially available multiprocessor.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
8815928
Program Officer
D. Helen Gill
Project Start
Project End
Budget Start
1989-01-01
Budget End
1992-12-31
Support Year
Fiscal Year
1988
Total Cost
$258,527
Indirect Cost
Name
University of Wisconsin Madison
Department
Type
DUNS #
City
Madison
State
WI
Country
United States
Zip Code
53715