ACM Home Page
Please provide us with feedback. Feedback
A thread-aware debugger with an open interface
Full text PdfPdf (347 KB)
Source International Symposium on Software Testing and Analysis archive
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis table of contents
Portland, Oregon, United States
Pages: 201 - 211  
Year of Publication: 2000
ISBN:1-58113-266-2
Also published in ...
Authors
Daniel Schulz  Qcentic GmbH, Koln, Germany
Frank Mueller  Humboldt Univ., Berlin, Germany
Sponsor
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 24,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   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/347324.349141
What is a DOI?

ABSTRACT

While threads have become an accepted and standardized model for expressing concurrency and exploiting parallelism for the shared-memory model, debugging threads is still poorly supported. This paper identifies challenges in debugging threads and offers solutions to them. The contributions of this paper are threefold. First, an open interface for debugging as an extension to thread implementations is proposed. Second, extensions for thread-aware debugging are identified and implemented within the Gnu Debugger to provide additional features beyond the scope of existing debuggers. Third, an active debugging framework is proposed that includes a language-independent protocol to communicate between debugger and application via relational queries ensuring that the enhancements of the debugger are independent of actual thread implementations. Partial or complete implementations of the interface for debugging can be added to thread implementations to work in unison with the enhanced debugger without any modifications to the debugger itself. Sample implementations of the interface for debugging have shown its adequacy for user-level threads, kernel threads and mixed thread implementations while providing extended debugging functionality at improved efficiency and portability at the same time.


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.

 
1
R. Al~eri. An e~cient kernel-based implementation of posix threads. In USENIX Conference, Summer 1994.
 
2
F. Armand, F. Herrmann, J. Lipkis, and M. Rozier. Multi-threaded processes in CHORUS/MIX. In EEUG Conference, pages 1{13, Spring 1990.
3
4
 
5
D. Caswell and D. Black. Implementing a Mach debugger for multithreaded applications. In Winter USENIX Conference, pages 25{40, Berkeley, CA, USA, Jan. 1990.
 
6
 
7
C. G. Davis. Testing large, real-time software systems. In Software Testing, Infotech State of the Art Report, volume 2, pages 85{105, 1979.
 
8
J. Eykholt, S. Kleiman, S. Barton, R. Faulkner, A. Shivalingiah, M. Smith, D. Stein, J. Voll, M. Weeks, and D. Williams. Beyond multiprocessing ... multithreading the SunOS kernel. In USENIX Conference, pages 11{18, Summer 1992.
 
9
H. P. D. Forum. Command interface for parallel debuggers. Draft revision 2.1 for standard, The Parallel Tools Consortium, Sept. 1998. http://www.ptools.org/hpdf/draft.
10
 
11
X. Leroy. The linuxthreads library. http://pauillac.inria.fr/?xleroy/linuxthreads, 1996.
 
12
13
 
14
F. Mueller. A library implementation of POSIX threads under UNIX. In Proceedings of the USENIX Conference, pages 29{41, Jan. 1993.
 
15
 
16
M. L. Powell, S. R. Kleiman, S. Barton, D. Shah, D. Stein, and M. Weeks. SunOS multi-thread architecture. In USENIX Conference, pages 65{80, Winter 1991.
 
17
C. Provenzano, G. Hudson, and K. Raeburn. Mit pthreads. http://www.mit.edu/people/proven/pthreads.html, 1993.
18
 
19
R. M. Stallman. GDB manual (the GNU source-level debugger). Technical report, Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA, Tel: (617) 876-3296, USA, Jan. 1989. Third Edition, GDB version 3.1.
 
20
D. Stein and D. Shah. Implementing lightweight threads. In USENIX Conference, pages 1{10, Summer 1992.
 
21
Technical Committee on Operating Systems and Application Environments of the IEEE. Portable Operating System Interface (POSIX)|Part 1: System Application Program Interface (API), 1996. ANSI/IEEE Std 1003.1, 1995 Edition, including 1003.1c: Amendment 2: Threads Extension {C Language}.
 
22
A. Tevanian, R. F. Rashid, D. B. Golub, D. L. Black, E. Cooper, and M. W. Young. MACH threads and the UNIX kernel: The battle for control. In USENIX Conference, pages 185{197, Summer 1987.
 
23
24


Collaborative Colleagues:
Daniel Schulz: colleagues
Frank Mueller: colleagues