|
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
|
G. Bristow , C. Drey , B. Edwards , W. Riddle, Anomaly detection in concurrent programs, Proceedings of the 4th international conference on Software engineering, p.265-273, September 17-19, 1979, Munich, Germany
|
| |
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
|
Robert J. Fowler , Thomas J. LeBlanc , John M. Mellor-Crummey, An integrated approach to parallel program debugging and performance analysis onlarge-scale multiprocessors, Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging, p.163-173, May 05-06, 1988, Madison, Wisconsin, United States
|
 |
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
|
G. Goldszmidt , S. Katz , S. Yemini, Interactive blackbox debugging for concurrent languages, Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging, p.271-282, May 05-06, 1988, Madison, Wisconsin, United States
|
| |
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
|
|
|
|
|
David Abramson , Ian Foster , John Michalakes , Rok Sosic, Relative debugging and its application to the development of large numerical models, Proceedings of the 1995 ACM/IEEE conference on Supercomputing (CDROM), p.51-es, December 04-08, 1995, San Diego, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
James E. Lumpp, Jr. , Samuel A. Fineberg , Thomas L. Casavant , Wayne G. Nation , Edward C. Bronson , Howard Jay Siegel , Pierre H. Pero , Dan C. Marinescu , Thomas Schwederski, CAPS: a coding aid for PASM, Communications of the ACM, v.34 n.11, p.104-117, Nov. 1991
|
|
|
|
|
|
Haim Gaifman , Michael J. Maher , Ehud Shapiro, Replay, recovery, replication, and snapshots of nondeterministic concurrent programs, Proceedings of the tenth annual ACM symposium on Principles of distributed computing, p.241-255, August 19-21, 1991, Montreal, Quebec, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mary Jean Harrold , James A. Jones , Tongyu Li , Donglin Liang , Alessandro Orso , Maikel Pennings , Saurabh Sinha , S. Alexander Spoon , Ashish Gujarathi, Regression test selection for Java software, ACM SIGPLAN Notices, v.36 n.11, p.312-326, 11/01/2001
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Chang-Hyun Jo , Phil Sun Kim , Hyeung Sik Im , Eui Hyun Paik , Byung Sun Lee, A design and prototyping of an object-oriented program debugger, Proceedings of the 1997 ACM symposium on Applied computing, p.45-51, April 1997, San Jose, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jyh-Herng Chow , William Ludwell Harrison, III, Compile-time analysis of parallel programs that share memory, Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.130-141, January 19-22, 1992, Albuquerque, New Mexico, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Torsten Grust , Jan Rittinger , Jens Teubner, Data-intensive XQuery debugging with instant replay, Proceedings of the 4th international workshop on XQuery implementation, experience and perspectives, p.1-6, June 15-15, 2007, Beijing, China
|
|
|
|
|
|
|
|
|
|
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...
|