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

Correctness of trap-based breakpoint implementations

Published: 01 February 1994 Publication History

Abstract

It is common for debuggers to implement breakpoints by a combination of planting traps and single stepping. When the target program contains multiple threads of execution, a debugger that is not carefully implemented may miss breakpoints. This paper gives a formal model of a breakpoint in a two-threaded program. The model describes correct and incorrect breakpoint implementations. Automatic search of the model's state space shows that the correct implementation does miss a breakpoint. The results apply even to debuggers like dbx and gdb, which are apparently for single-threaded programs; when the user evaluates an expression containing function calls, the debugger executes the call in the target address space, in effect creating a new thread.

References

[1]
Aral, Ziya, Ilya Gertner, and Greg Schaffer. 1989 (May). Efficient debugging primitives for multiprocessors. Proceedings o} Third International Conference on Architectural Support for Programming Languages and Operating Systems, in a special issue of SIGPLAN Notices, 24:87-95.
[2]
Bruegge, Bernd. 1985 (September). Adaptability and Portability o} Symbolic Debuggers. PhD thesis, Carnegie Mellon University.
[3]
Caswell, Deborah and David Black. 1990 (January). implementing a Mach debugger for multithreaded applications. In Proceedings of the Winter USENIX Conference, pages 25-39, Washington, DC.
[4]
Digital Equipment Corporation. 1975. DDT--Dynamic Debugging Technique. Maynard, MA.
[5]
Dijsktra, Edsger W. 1976. A Discipline of Programming. Englewood Cliffs, NJ: Prentice-Hall.
[6]
Gorlick, Michael M. 1991 (December). The flight recorder: An architectural aid for system monitoring. Proceedings of the A CM/ONR Workshop on Parallel and Distributed Debugging, in SIGPLAN Notices, 26(12):175-183.
[7]
Hoare, C. A. R. 1978 (August). Communicating sequential processes. Communications of the ACM, 21(8) :666-677.
[8]
Holzmann, Gerard J. 1991. Design and Validation of Computer Protocols. Englewood Cliffs, N j: Prentice Hall.
[9]
Kessler, Peter B. 1990 (June). Fast breakpoints: Design and implementation. Proceedings of the A CM SIGPLAN '90 Conference on Programming Language Design and Implementation, in SIGPLAN Notices, 25(6):78-84.
[10]
Knuth, Donald E. 1984. Literate programming. The Computer Journal, 27(2):97-111.
[11]
Linton, Mark A. 1990 (June). The evolution of Dbx. In Proceeding8 o} the Summer USENIX Conference, pages 211-220, Anaheim, CA.
[12]
Ramsey, Norman. 1992a (August). Literate-programming tools need not be complex. Technical Report CS-TR-351-91, Department of Computer Science, Princeton University. Submitted to IEEE Software.
[13]
1992b (December). A Retargetable Debugger. PhD thesis, Princeton University, Department of Computer Science. Also Technical Report CS-TR-403-92.
[14]
Redell, David D. 1989 (january). Experience with Topaz TeleDebugging. Proceedings of the A CM SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, in SIGPLAN Notices, 24(1):35-44.
[15]
Stallman, Richard M. and Roland H. Pesch. 1991. Using GDB: A guide to the GNU source-level debugger, GDB version 4.0. Technical report, Free Software Foundation, Cambridge, MA.
[16]
Wahbe, Robert. 1992 (September). Efficient data breakpoints. Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, in SIGPLAN Notices, 27(9):200-212.

Cited By

View all
  • (2018)Feedback-directed differential testing of interactive debuggersProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3236037(610-620)Online publication date: 26-Oct-2018
  • (2012)Effective Malware Analysis Using Stealth BreakpointsThreats, Countermeasures, and Advances in Applied Information Security10.4018/978-1-4666-0978-5.ch023(444-461)Online publication date: 2012
  • (2009)Re-inforced stealth breakpoints2009 Fourth International Conference on Risks and Security of Internet and Systems (CRiSIS 2009)10.1109/CRISIS.2009.5411978(59-66)Online publication date: Oct-2009
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '94: Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
February 1994
492 pages
ISBN:0897916360
DOI:10.1145/174675
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 February 1994

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

POPL94

Acceptance Rates

POPL '94 Paper Acceptance Rate 39 of 173 submissions, 23%;
Overall Acceptance Rate 860 of 4,328 submissions, 20%

Upcoming Conference

POPL '26

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)82
  • Downloads (Last 6 weeks)16
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2018)Feedback-directed differential testing of interactive debuggersProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3236037(610-620)Online publication date: 26-Oct-2018
  • (2012)Effective Malware Analysis Using Stealth BreakpointsThreats, Countermeasures, and Advances in Applied Information Security10.4018/978-1-4666-0978-5.ch023(444-461)Online publication date: 2012
  • (2009)Re-inforced stealth breakpoints2009 Fourth International Conference on Risks and Security of Internet and Systems (CRiSIS 2009)10.1109/CRISIS.2009.5411978(59-66)Online publication date: Oct-2009
  • (2005)Stealth BreakpointsProceedings of the 21st Annual Computer Security Applications Conference10.1109/CSAC.2005.52(381-392)Online publication date: 5-Dec-2005
  • (2003)Pragmatic aspects of reusable program generatorsJournal of Functional Programming10.1017/S095679680200462813:3(601-646)Online publication date: 1-May-2003
  • (2001)Pragmatic Aspects of Reusable Program Generators Position PaperSemantics, Applications, and Implementation of Program Generation10.1007/3-540-45350-4_12(149-171)Online publication date: 1-Jun-2001

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media