Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1133373.1133380acmotherconferencesArticle/Chapter ViewAbstractPublication PagesewConference Proceedingsconference-collections
Article

Dependable software needs pervasive debugging

Published: 01 July 2002 Publication History

Abstract

Nobody would claim that debugging computer software is easy: all too often it proceeds by trial-and-error experiments in which programmers examine the behaviour of the system and form hypotheses that could explain what they see. These problems are exacerbated when developing distributed, peer-to-peer or multi-processor applications, or when unreliable network links form part of the system under test. Environments for pervasive computing take this to an extreme, allowing user-supplied code to run or migrate within and around the network.In this paper we show how to perform pervasive debugging, enabling complex multi-process applications to be debugged and controlled as single entities and their robustness to changes in network performance to be evaluated. We do this by virtualizing the resources used by the system, allowing the threads that it involves and the network links that it uses to be modelled within a single controllable process.

References

[1]
S. V. Adve and K. Gharachorloo. Shared memory consistency models: a tutorial. IEEE Computer, 29(12):66--76, Dec. 1996.
[2]
B. Boothe. Efficient algorithms for bidirectional debugging. In Programming Language Design and Implementation (PLDI'00), volume 35(5) of ACM SIGPLAN Notices, pages 299--310, May 2000.
[3]
E. A. Brewer and W. E. Weihl. Developing parallel applications using high-performance simulation. In Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging, pages 158--168, May 1993.
[4]
D. Bruening. Systematic testing of multithreaded Java programs, 1999.
[5]
J.-D. Choi and H. Srinivasan. Deterministic replay of Java multithreaded applications. In Proceedings of the ACM SIGMETRICS Symposium on Parallel and Distributed Tools, pages 48--59, Aug. 1998.
[6]
R. C. B. Cooper. Debugging concurrent and distributed programs. PhD thesis, University of Cambridge Computer Laboratory, Feb. 1988. Also available as UCAM-CL-TR-128.
[7]
J. Domingue and P. Mulholland. Fostering debugging communities on the Web. Communications of the ACM, 40(4):65--71, Apr. 1997.
[8]
S. Floyd and V. Jacobson. The synchronization of periodic routing messages. ACM Transactions on Networking, 2(2):122--136, Apr. 1994.
[9]
R. Hood. The p2d2 Project: Building a Portable Distributed Debugger. In Proceedings of ACM SIGMETRICS Symposium on Parallel and Distributed Tools (SPDT'96), Philadelphia, PA, May 1996.
[10]
J. R. Larus. Whole program paths. In Programming Language Design and Implementation (PLDI '99), volume 34(5) of ACM SIGPLAN Notices, pages 259--269, May 1999.
[11]
T. J. LeBlanc and J. M. Mellor-Crummey. Debugging parallel programs with Instant Replay. IEEE Transactions on Computers, C-36(4):471--482, Apr. 1987.
[12]
I. M. Leslie, D. McAuley, R. Black, T. Roscoe, P. Barham, D. Evers, R. Fairbairns, and E. Hyden. The design and implementation of an operating system to support distributed multimedia applications. IEEE Journal on Selected Areas In Communications, 14(7):1280--1297, Sept. 1996.
[13]
J. M. Mellor-Crummey and T. J. LeBlanc. A software instruction counter. In Architectural Support for Programming Languages and Operating Systems (ASPLOS '89), Apr. 1989. ACM SIGARCH Computer Architecture News 17(2):78--86, April 1989.
[14]
W. Pugh. Fixing the Java memory model. Proceedings of the ACM 1999 Conference on Java Grande, pages 89--98, June 1999.
[15]
D. Reed, I. Pratt, P. Menage, S. Early, and N. Stratford. Xenoservers: accounted execution of untrusted code. In Proceedings of the fifth Workshop on Hot Topics in Operating Systems (HotOS-VII), 1999.
[16]
S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. Anderson. Eraser: A dynamic data race detector for multithreaded programs. ACM Transactions on Computer Systems, 15(4):391--411, Nov. 1997.
[17]
D. L. Tennenhouse, J. M. Smith, W. D. Sincoskie, D. J. Wetherall, and G. J. Minden. A survey of active network research. IEEE Communications Magazine, 35(1):80--86, Jan. 1997.
[18]
R. Wahbe, S. Lucco, T. E. Anderson, and S. L. Graham. Efficient software-based fault isolation. In Proceedings of 14th ACM SOSP, pages 175--188, Dec. 1993.
[19]
Y. Zhang and R. Gupta. Timestamped whole program path representation and its applications. In Programming Language Design and Implementation (PLDI '01), volume 36(5) of ACM SIGPLAN Notices, pages 180--190, May 2001.

Cited By

View all
  • (2014)Related WorkDebugging Systems-on-Chip10.1007/978-3-319-06242-6_9(235-255)Online publication date: 15-Jul-2014
  • (2010)PerViz: Painkillers for pervasive application debugging2010 IEEE International Conference on Pervasive Computing and Communications (PerCom)10.1109/PERCOM.2010.5466975(208-216)Online publication date: Mar-2010
  • (2007)FridayProceedings of the 4th USENIX conference on Networked systems design & implementation10.5555/1973430.1973451(21-21)Online publication date: 11-Apr-2007
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
EW 10: Proceedings of the 10th workshop on ACM SIGOPS European workshop
July 2002
258 pages
ISBN:9781450378062
DOI:10.1145/1133373
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 2002

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 37 of 37 submissions, 100%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2014)Related WorkDebugging Systems-on-Chip10.1007/978-3-319-06242-6_9(235-255)Online publication date: 15-Jul-2014
  • (2010)PerViz: Painkillers for pervasive application debugging2010 IEEE International Conference on Pervasive Computing and Communications (PerCom)10.1109/PERCOM.2010.5466975(208-216)Online publication date: Mar-2010
  • (2007)FridayProceedings of the 4th USENIX conference on Networked systems design & implementation10.5555/1973430.1973451(21-21)Online publication date: 11-Apr-2007
  • (2006)Using queries for distributed monitoring and forensicsACM SIGOPS Operating Systems Review10.1145/1218063.121797340:4(389-402)Online publication date: 18-Apr-2006
  • (2006)Using queries for distributed monitoring and forensicsProceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 200610.1145/1217935.1217973(389-402)Online publication date: 18-Apr-2006
  • (2005)JockeyProceedings of the sixth international symposium on Automated analysis-driven debugging10.1145/1085130.1085139(69-76)Online publication date: 19-Sep-2005
  • (2005)Grid-Level Computing Needs Pervasive DebuggingProceedings of the 6th IEEE/ACM International Workshop on Grid Computing10.1109/GRID.2005.1542741(186-193)Online publication date: 13-Nov-2005
  • (2004)PDBProceedings of the 5th IEEE/ACM International Workshop on Grid Computing10.1109/GRID.2004.49(260-265)Online publication date: 8-Nov-2004
  • (2003)ValgrindElectronic Notes in Theoretical Computer Science10.1016/S1571-0661(04)81042-989:2(44-66)Online publication date: Oct-2003

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media