Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/53990.54004acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free access

A mechanism for efficient debugging of parallel programs

Published: 01 June 1988 Publication History

Abstract

This paper addresses the design and implementation of an integrated debugging system for parallel programs running on shared memory multi-processors (SMMP). We describe the use of flowback analysis to provide information on causal relationships between events in a program's execution without re-executing the program for debugging. We introduce a mechanism called incremental tracing that, by using semantic analyses of the debugged program, makes the flowback analysis practical with only a small amount of trace generated during execution. We extend flowback analysis to apply to parallel programs and describe a method to detect race conditions in the interactions of the co-operating processes.

References

[1]
R.M. Balzer, "EXDAMS - EXtendable Debugging and Monitoring System," Proc. of AFI?S Spring Joint Computer Conf. 34 pp. 567- 580 (1969).
[2]
K. Cooper, K. Kennedy, and L. Torczon, "The Impact of Interprocess Analysis and Optimization in the Rn programming Environment,'' ACM Trans. on Prog. Lang. and Syst. 8(4)pp. 491-523 (October 1986).
[3]
K. Kennedy, "A Survey of Data-flow Analysis Techniques," Program Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones, Eds., pp. 5-54 Prentice-Hall, Englewood Cliffs, N.J., (1981).
[4]
B. Randell, P. A. Lee, and P. C. Treleaven, "Reliability Issues in Computing System Design," Computing Surveys 10(2)pp. 123-165 (June 1978).
[5]
R. Curtis and L. Witfie, "BUGNET: A Debugging System for Parallel Programming Environment," Proc. of the 3rd International Conf. on Distributed Computing Systems, pp. 394-399 Denver, (August 1982).
[6]
R.D. Schiffenbaur, "Interactive Debugging in a Distributed Programs," M.S. Thesis, EECS Tech Report MIT/LCS/TR-264, M.I.T., (August 1981).
[7]
T.J. LeBlanc and J. M. Mellor-Crummey, "Debugging Parallel Programs with Instant Replay," IEEE Trans. on Computers C-36(4) pp. 471-482 (April 1987).
[8]
E. Dijkstra, "Guarded Commands, Nondeterminacy and Formal Derivation of Programs," Comm. of ACM 18(8) pp. 453-457 (1975).
[9]
P.C. Bates and J. C. Wile&n, "High Level Debugging of Distributed Systems: the Behavioral Abstraction Approach," J. Systems and Softwares 4(3) pp. 255-264 (December 1983).
[10]
B. Bruegge and P. Hibbard, "Generalized Path Expressions: A High Level Debugging Mechanism," Proc. of the SIGSOFT/SIGPLAN Syrup. on High-Level Debugging, pp. 34-44 Pacific Grove, Calif., (August 1983).
[11]
F. Baiardi, N. De Francesco, and G. Vaglini, "Development of a Debugger for a Concurrent Language," IEEE Trans. on Software Engineering SE-12(4) pp. 547-553 (April 1986).
[12]
R. Snodgrass, "Monitoring Distributed Systems: A Relational Approach," Ph.D. Thesis, Carnegie-Mellon University, (December 1982).
[13]
D.J. Kuck, Y. Muraoka, and S. C. Chen, "On the Number of Operations Simultaneously Executable in FORTRAN-like Programs and Their Speed-up," IEEE Trans. on Computers, pp. 1293-1310 (December 1972).
[14]
J.R. Allen and K. Kennedy, "PFC: A Program to Convert FOR- TRAN to Parallel Form," TR 82-6, Dept. of Math. Sciences, Rice University, Houston, Texas, (March 1982).
[15]
J.R. Allen and K. Kennedy, "Automatic Loop Interchange," Proc. of the SIGPLAN 84 Symposium on Compiler Construction, pp. 233- 246 Montreal, Canada, (June 1984).
[16]
K, J. Ottenstein and L. M. Ottenstein, "The Program Dependency Graph In A Software Development Environment," SIGPLAN Notices 19(5) pp. 177-184 ACM, (May 1984).
[17]
J. Ferrante, K. Ottenstein, and J. Warren, "The Program Dependence Graph and Its Use in Optimization," ACM Trans. on Prog. Lang. and Syst. 9(3) pp. 319-349 (July 1987).
[18]
S. Horwitz, J. Prins, and T. Reps, "Integrating non-interfering versions of programs," Proc. of the SIGPLAN 88 Symposium on Principles of Programming Languages, pp. 133-145 San Diego, CA, (January 1988).
[19]
M. Weiser, "Programmers Use Slices When Debugging," Communication, of the ACM 25(7)(July 1982).
[20]
M. Weiser, "Program Slicing," IEEE Trans. on Software Engineering SE-10(4)(July 1984).
[21]
J.M. Barth, "A practical interprocedural data flow analysis algorithm,'' Communications of the ACM 21(9) pp. 724-736 (September 19'78).
[22]
J.P. Banning, "An efficient way to find the side effects of procedure calls and the aliases of variables," Proc. of the SiGPLAN 79 Symposium on Principles of Programming Languages, pp. 29-41 San Antonio, TX, (lanuary I979).
[23]
E. Myers, "A precise inter-procedural data flow algorithm," Proc. of the SIGPLAN 81 Symposium on Principles of Programming Languages, pp. 219-230 Williamsburg, VA, (January 1981).
[24]
B.P. Miller and J. D. Choi, "Breakpoints and Halting in Distributed Programs," Proc. of the 8th International Conf. on Distributed Computing Systems, San Jose, CA, (June 1988).
[25]
L. Lamport, "Time, Clocks, and the Ordering of Events in a Distributed System," Communications of the ACM 21(7)pp. 558-565 (July 1978).
[26]
. Gray, "Notes on Database Operating Systems," Lecture Notes in omputer Science 60: Operating Systems, R. Bayer, R. M. Graham, and G. Seegmuller, Eds., pp. 393481 Springer-Vefiag, Berlin, (1978),
[27]
D, R, Cheriton and W. Zwaenepoel, "The Distributed V kernel and its Performance for Disldess Workstations," Proc. of the 9th SOSP, Operating Systems Review 17(5) pp. 129-140 (November 1983),
[28]
C. Ruggieri and T. P. Murtagh, "Lifetime Analysis of Dynamically Allocated Objects," Proc. of the SIGPLAN 88 Symposium on Principles of Programming Languages, pp. 285-293 San Diego, CA, (January 1988).
[29]
S. Horwitz, P. Pfeiffer, and T. ReDs, "Dependence Analysis for Pointer Variables," Computer Sciences Tech Report (in preparation), Univ. of Wisconsin- Madison, (1988).

Cited By

View all
  • (2018)Efficient parallel determinacy race detection for two-dimensional dagsACM SIGPLAN Notices10.1145/3200691.317851553:1(368-380)Online publication date: 10-Feb-2018
  • (2018)Efficient parallel determinacy race detection for two-dimensional dagsProceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3178487.3178515(368-380)Online publication date: 10-Feb-2018
  • (2017)Language-independent information flow tracking engine for program comprehension toolsProceedings of the 25th International Conference on Program Comprehension10.1109/ICPC.2017.5(346-355)Online publication date: 20-May-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '88: Proceedings of the ACM SIGPLAN 1988 conference on Programming language design and implementation
June 1988
338 pages
ISBN:0897912691
DOI:10.1145/53990
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 23, Issue 7
    Proceedings of the SIGPLAN '88 conference on Programming language design and implementation
    July 1988
    338 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/960116
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1988

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI88
Sponsor:
PLDI88: SIGPLAN 88
June 20 - 24, 1988
Georgia, Atlanta, USA

Acceptance Rates

Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)77
  • Downloads (Last 6 weeks)14
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Efficient parallel determinacy race detection for two-dimensional dagsACM SIGPLAN Notices10.1145/3200691.317851553:1(368-380)Online publication date: 10-Feb-2018
  • (2018)Efficient parallel determinacy race detection for two-dimensional dagsProceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3178487.3178515(368-380)Online publication date: 10-Feb-2018
  • (2017)Language-independent information flow tracking engine for program comprehension toolsProceedings of the 25th International Conference on Program Comprehension10.1109/ICPC.2017.5(346-355)Online publication date: 20-May-2017
  • (2014)Study of current program slicing techniques2014 5th International Conference - Confluence The Next Generation Information Technology Summit (Confluence)10.1109/CONFLUENCE.2014.6949332(810-814)Online publication date: Sep-2014
  • (2010)The Cilk++ concurrency platformThe Journal of Supercomputing10.1007/s11227-010-0405-351:3(244-257)Online publication date: 1-Mar-2010
  • (2009)The Cilk++ concurrency platformProceedings of the 46th Annual Design Automation Conference10.1145/1629911.1630048(522-527)Online publication date: 26-Jul-2009
  • (2007)Hierarchical dynamic slicingProceedings of the 2007 international symposium on Software testing and analysis10.1145/1273463.1273494(228-238)Online publication date: 9-Jul-2007
  • (2006)Replay compilationACM SIGPLAN Notices10.1145/1167515.116749341:10(241-252)Online publication date: 16-Oct-2006
  • (2006)Replay compilationProceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications10.1145/1167473.1167493(241-252)Online publication date: 23-Oct-2006
  • (2006)`Defensive programming' in the rapid development of a parallel scientific programIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/43.551969:6(665-669)Online publication date: 1-Nov-2006
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media