Article | Proceedings of the 3rd International Workshop on Automatic Debugging; 1997 (AADEBUG-97) | Bisection Debugging

Title:
Bisection Debugging
Author:
Thomas Groß: ETH Zürich, Switzerland \ Carnegie Mellon University, USA
Download:
Full text (pdf) Full text (ps)
Year:
1997
Conference:
Proceedings of the 3rd International Workshop on Automatic Debugging; 1997 (AADEBUG-97)
Issue:
001
Article no.:
015
Pages:
185-191
No. of pages:
7
Publication type:
Abstract and Fulltext
Published:
1997-09-10
Series:
Linköping Electronic Conference Proceedings
ISSN (print):
1650-3686
ISSN (online):
1650-3740
Series:
Linköping Electronic Articles in Computer and Information Science
ISSN (online):
1401-9841
Publisher:
Linköping University Electronic Press; Linköpings universitet


This paper introduces the bisection debugging model. The key idea is to use a debugger to identify the semantic differences between two versions of the same program. The debugger leads the user (programmer) to the region of the source code that is different between the versions and effects erroneous behavior. To implement bisection debugging; a debugger must insert checkpoints around regions of the program that are determined to be different (by; e.g.; a file differencing program). To compare the state of both computations; it is necessary that there are no constraints on where a breakpoint can be set; and the debugger must be able to solve all data value problems at this breakpoint. The quality of the file differencing program has an influence on the execution speed of the debugged program; but not on the correctness of the method. This debugging model is useful if there exists already a correct version of a program (in the sense that its output is acceptable) and subsequent changes have modified this program so that the output is no longer correct.

Proceedings of the 3rd International Workshop on Automatic Debugging; 1997 (AADEBUG-97)

Author:
Thomas Groß
Title:
Bisection Debugging
References:

[1] D. Abramson; I. Foster; J. Michalakes; and R. Sosic. Relative debugging: A new methodology for debugging scientific applications. Comm. ACM; 39(11):69–77; Nov 1996.


[2] A. Adl-Tabatabai. Source-Level Debugging of Globally Optimized Code. PhD thesis; Carnegie Mellon University; 1996. CMU-CS-96-133.


[3] A. Adl-Tabatabai and T. Gross. Source-level debugging of scalar optimized code. In Proc. ACM SIGPLAN’96 Conf. on Prog. Language Design and Implementation; pages 33–43. ACM; May 1996.


[4] H. Agrawal and J. Horgan. Dynamic program slicing. In Proc. ACM SIGPLAN’90 Conf. on Prog. Language Design and Implementation; pages 246–256; White Plains; June 1990. ACM.


[5] K. Gallagher and J. Lyle. Using program slicing in software maintenance. IEEE Trans. Software Eng.; 17(8):751–761; Aug 1991.


[6] J. L. Hennessy. Symbolic debugging of optimized code. ACMTrans. on Prog. Lang. Syst.; 4(3):323–344; July 1982.


[7] M. Kamkar; P. Fritzson; and N. Shahmehri. Interprocedural dynamic slicing applied to interprocedural data flow testing. In Proc. Conf. on Software Maintenance’93; pages 386–395; Montreal; Sept 1993. IEEE.


[8] B. Korel and J. Laski. Dynamic slicing of computer programs. J. Systems and Software; 13(3):187–195; Nov 1990.


[9] R. Wismueller. Debugging of globally optimized programs using data flow analysis. In Proc. ACM SIGPLAN’94 Conf. on Prog. Language Design and Implementation; pages 278–289. ACM; June 1994.

Proceedings of the 3rd International Workshop on Automatic Debugging; 1997 (AADEBUG-97)

Author:
Thomas Groß
Title:
Bisection Debugging
Note: the following are taken directly from CrossRef
Citations:
No citations available at the moment