A general framework for debugging

  title={A general framework for debugging},
  author={Keijiro Araki and Zengo Furukawa and Jingde Cheng},
  journal={IEEE Software},
The state of the art of debugging is examined. A debugged process model that serves as the basis of a general debugging framework is described. The relationship of the model to traditional debugging processes and support tools is discussed. A minimal set of requirements for a general debugging framework is described in terms of both the theory behind debugging methodologies and the support tools. An execution monitor, Eden, that serves as a debugging tool within this general framework is… 

Figures from this paper

Implementation of DDARC: software architecture for debugging distributed programs

The debugger based on the proposed architecture supports debugging based on a mechanism for controlling multiple processes, presenting the process states, grouping of processes for ease in controlling the distributed programs developed on PVM based computing paradigm.

A multiple-view analysis model of debugging processes

We propose a model for analyzing the reading strategies in software debugging. The model provides quantitative and objective visions to a human's debugging activity, and provides the framework for

Task time lines as a debugging tool

The paper shows how this representation can be used to depict typical Ada tasking activity, and describes a tool that provides a useful interface to the representation.

A Practical Study of Debugging Using Model Checking

The aim of this proposed hypothesis-based method of debugging is not only to reproduce a failure as counterexamples, but also to obtain a countereXample that is useful for detecting the fault or the cause of the failure.

Debugging with dynamic slicing and backtracking

If debugging tools provided explicit support for many tasks manually that the tools could perform automatically, the debugging process could be automated to a significant extent.

Lazy SETL Debugging with Persistent Data Structures

This thesis describes the lazy debugging, a new debugging approach that aims at solving two major problems experienced in using current program debuggers: the need for repeated execution, and the

Debugging Distributed Ada Programs

It is shown how a tool can be constructed which collects traces produced by an Ada tasking run-time system and displays them to the user in a range of formats.

Enhancing debugging technology

The experiment shows that an active debugging assistant can effectively improve debugging performance and the approach to evaluate and formulate hypotheses about fault locations, especially the locations of omitted statements.

Cognitive activities and support in debugging

By investigating the programmers' debugging process, this work analyzes the process of debugging and how debugging aids can help programmers and provides some suggestions on building more sophisticated debugging aids.

Software debugging with dynamic instrumentation and test-based knowledge

A new debugging paradigm equipped with a set of heuristics developed to enable debuggers to highlight suspicious statements and thus to confine the search domain to a small region is expected to reduce human interaction time significantly and aid in the debugging of complex software.



Debugging concurrent programs

A survey of current techniques used in debugging concurrent programs and systems using three general techniques are described: traditional or breakpoint style debuggers, event monitoring systems, and static analysis systems.

Algorithmic Program Debugging

An algorithm that can fix a bug that has been identified, and integrate it with the diagnosis algorithms to form an interactive debugging system that can debug programs that are too complex for the Model Inference System to synthesize.

A Mathematical Framework for the Investigation of Testing

  • J. S. Gourlay
  • Computer Science
    IEEE Transactions on Software Engineering
  • 1983
A mathematical framework is developed that provides a mechanism for comparing the power of methods of testing programs based on the degree to which the methods approximate program verification, and provides a reasonable and useful interpretation of the notion that successful tests increase one's confidence in the program's correctness.

Task-wait-for graphs and their application to handling tasking deadlocks

This paper presents a formal model, named “Task-Wait-For Graphs”, for the state of tasking object interaction and shows its application to handling tasking deadlocks.

Tasking communication deadlocks in concurrent Ada programs

This article specifies four kinds of tasking communication deadlocks, i.e., Circular-entry-calling, Dependence-blocking, Termination- blocking, and Acceptance-blocking.

SIGPlan Notices, Aug. 1983. 2 SIGPIan Notices

  • Proc. SIGSoft and SIGPlan Software Eng. Symp. High-Level Debugging Proc. SIGPlan and SIGOps Workshop Parallel and Dismhuted Debugging
  • 1989

Proc. Int'l Computer Science Conf

  • Proc. Int'l Computer Science Conf
  • 1988

SIGPh No&r, Aug. 1983. 2

  • Proc. SIGSoft and SIGPlan Software Eng. Symp. High-Level Debugging Proc. SIGPlan and SIGOps WorkshopParallel and Disuibuted DebuggingSIGPIan Notices
  • 1989