ACM Home Page
Please provide us with feedback. Feedback
Debugging concurrent programs
Full text PdfPdf (2.86 MB)
Source ACM Computing Surveys (CSUR) archive
Volume 21 ,  Issue 4  (December 1989) table of contents
Pages: 593 - 622  
Year of Publication: 1989
ISSN:0360-0300
Authors
Charles E. McDowell  Univ. of California at Santa Cruz, Santa Cruz
David P. Helmbold  Univ. of California at Santa Cruz, Santa Cruz
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 28,   Downloads (12 Months): 200,   Citation Count: 67
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/76894.76897
What is a DOI?

ABSTRACT

The main problems associated with debugging concurrent programs are increased complexity, the "probe effect," nonrepeatability, and the lack of a synchronized global clock. The probe effect refers to the fact that any attempt to observe the behavior of a distributed system may change the behavior of that system. For some parallel programs, different executions with the same data will result in different results even without any attempt to observe the behavior. Even when the behavior can be observed, in many systems the lack of a synchronized global clock makes the results of the observation difficult to interpret. This paper discusses these and other problems related to debugging concurrent programs and presents a survey of current techniques used in debugging concurrent programs. Systems using three general techniques are described: traditional or breakpoint style debuggers, event monitoring systems, and static analysis systems. In addition, techniques for limiting, organizing, and displaying a large amount of data produced by the debugging systems are discussed.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
ABKP86
ALLEN, R., BAUMGARTNER, D., KEN- NEDY, K., AND PORTERFIELD, A. 1986. Ptooh A semiautomatic parallel programming assistant. In Proceedings of the International Conference on Parallel Processing. IEEE, pp. 164-170.
AG88
 
AM85
APPELBE, W.F.,AND McDOWELL, C.E. 1985. Anomaly reporting: A tool for debugging and developing parallel numerical algorithms. In Proceedings of the 1st International Conference on Supercomputing Systems. IEEE, pp. 386-391.
 
AM86
 
AM88
 
AP87
ALLEN, T. R., AND PADUA, D. A. 1987. Debugging FORTRAN on a shared memory machine. In Proceedings of the International Conference on Parallel Processing. Penn State University, pp. 721-727.
Bat88
 
BCKT79
BANERJEE, U., CHEN, S., KUCK, D. J., AND TOWLE, R. A. 1979. Time and parallel processor bounds for fortran-like loops. IEEE Trans. Comput. 28, 9 (Sept.), 660-670.
 
BDER79a
 
BDER79b
BRISTOW, G., DREY, C., EOWAROS, B., AND RIDDLE, W. 1979. Design of a system for anomaly detection in HAL/S programs. Tech. Rep. CU-CS-151-79. Univ. of Colorado at Boulder.
 
BDV86
 
BW83
BATES, P. C., AND WILEDEN, J. C. 1983. High-level debugging of distributed systems: The behavioral abstraction approach. J. Syst. Softw. 3, 255-264. Also COINS Tech. Rep. 683-29.
CL85
 
Coo87
COOPER, R. 1987. Pilgram: A debugger for distributed systems. In Proceedings of the 7th International Conference on Distributed Computing Systems. IEEE, pp. 458-465.
 
CP86
C888
 
CW82
CURTm, R. S., AND WITTm, L. D. 1982. BugNet: A debugging system for parallel programming environments. In Proceedings of the 3rd International Conference on Distributed Computing Systems. ACM, pp. 394-399.
Els88
Fid88
FLM88
FO76
For88
 
Gai85
 
GB85
GARCIA, M. E., AND BERMAN, W. J. 1985. An approach to concurrent systems debugging. In Proceedings of the 5th International Conference on Distributed Computing Systems. IEEE, pp. 507-514.
 
GGK84
GARCIA-MOLINA, H., GERMANO, F., JR., AND KOHLER, W. H. 1984. Debugging a distributed computing system. IEEE Trans. Softw. Eng. SE-IO, 2 (Mar.), 210-219.
 
GH83
GENTLEMAN, W. M., AND HOEKSMA, H. 1983. Hardware assisted high level debugging. SIGPLAN Notices 18, 8 (August), 140-144.
 
GK86
GKY88
 
Gol86
 
GR85
GEHANI, N. H., AND ROOME, W. D. 1985. Concurrent C. Tech. Rep., AT&T Bell Laboratories.
 
Gri87
GRIFFIN, J. 1987. Parallel debugging system user's guide. Tech. Rep., Los Alamos National Laboratory.
 
HC87
HOUGH, A. A., ANO CUNY, J. 1987. Belvedere: Prototype of a pattern-oriented debugget for highly parallel computation. In Proceedings of the International Conference on Parallel Processing. Penn State University, pp. 735-738.
 
HHK85
HARTER, P. K., JR., HEIMBIGNER, D. M., AND KING, R. 1985. IDD: An interactive distributed debugger. In Proceedings of the 5th International Conference on Distributed Computing Systems. IEEE, pp. 498-506.
 
HL85a
HELMBOLD, D., AND LUCKHAM, D. 1985. Debugging ada tasking programs. IEEE Softw. 2, 2, 47-57.
HL85b
 
HU75
HECHT, M. S., ANO ULLMAN, J. D. 1975. A simple algorithm for global data flow analysis problems. SIAM J. Comput. 4, 519-532.
 
HW88
 
Int87
INTEL CORP. 1987. iPSC Concurrent Debugger Manual.
JLSU87
 
Kar87
Lam78
 
LM87
LP85
 
LP86
 
LR85
LEBLANC, R. J., ANO ROBBINS, A. D. 1985. Event-driven monitoring of distributed programs. In Proceedings of the 5th International Conference on Distributed Computing Systems. IEEE, pp. 515-522.
 
Man87
 
MC88a
MILLER, B. P., AND CHOI, J.-D. 1988a. Breakpoints and halting in distributed systems. In Proceedings of International Conference on Distributed Computing Systems. IEEE.
MC88b
 
McD88
McDOWELL, C. E. 1988. Viewing anomalous states in parallel programs. In Proceedings of the International Conference on Parallel Processing. Penn State University, pp. 54-57.
 
McD89
MCR85
 
MMS86
Pet77
PL88
RRZ88
SBN88
 
Seq86
SEQUENT CORP. 1986. Dynix Pdbx Parallel Debugger User's Manual.
SG86
Sno84
 
ST83
SEIDNER, R., AND TINDALL, N. 1983. Interactive debug requirements. SIGPLAN Notices 9-22.
Sto88
 
Sun86
SUN MICROSYSTEMS. 1986. NeWS Preliminary Technical Overview.
 
Tan81
Tay83
 
Tay84
TAYLOR, R. N. 1984. Debugging real-time software in a host-target environment. Tech. Rep. 212, Univ. of California at Irvine.
 
TO80
TAYLOR, R. N., AND OSTERWEIL, L. g. 1980. Anomaly detection in concurrent software by static data flow analysis. IEEE Trans. So{tw. Eng. SE-6, 3 (May), 265-278.
 
Vic77
VICTOR, K. E. 1977. The design and implementation of DAD, a multiprocess, multimachine, multilanguage interactive debugger. In Proceedings of Hawaii International Conference on System Sciences. IEEE, pp. 196-199.
Web83
 
Wer88
 
YT86
YOUNG, M., AND TAYLOR, R. N. 1986. Combining static concurrency analysis with symbolic execution. In Proceedings of Workshop on Software Testing. pp. 10-178.

CITED BY  67


REVIEW

"Jagdish C. Agrawal : Reviewer"

This survey of a large number of efforts to help produce error-free concurrent software focuses primarily on systems directed toward isolating program errors, excluding much work in formal verification and program testing. The authors have org  more...

Collaborative Colleagues:
Charles E. McDowell: colleagues
David P. Helmbold: colleagues