Automatic relative debugging

Searle, Aaron James (2006) Automatic relative debugging. PhD thesis, Queensland University of Technology.


Relative Debugging is a paradigm that assists users to locate errors in programs that have been corrected or enhanced. In particular, the contents of key data structures in the development version are compared with the contents of the corresponding data structures, in an existing version, as the two programs execute. If the values of two corresponding data structures differ at points where they should not, an error may exist and the user is notified.

Relative Debugging requires users to identify the corresponding data structures within the two programs, and the locations at which the comparisons should be performed.

To quickly and effectively identify useful data structures and comparison points requires that users have a detailed knowledge of the two programs under consideration. Without a detailed knowledge of the two programs, the task of locating useful data structures and comparison points can quickly become a difficult and time consuming process. Prior to the research detailed in this thesis, the Relative Debugging paradigm did not provide any assistance that allowed users to quickly and effectively identify suitable data structures and program points that will help discover the source of an error.

Our research efforts have been directed at enhancing the Relative Debugging paradigm. The outcome of this research is the discovery of techniques that empower

Relative Debugging users to become more productive and allow the Relative Debugging paradigm to be significantly enhanced. Specifically, the research has resulted in the following three contributions:

  1. A Systematic Approach to Relative Debugging.

  2. Data Flow Browsing for Relative Debugging.

  3. Automatic Relative Debugging.

These contributions have enhanced the Relative Debugging paradigm and allow errors to be localized with little human interaction. Minimizing the user's involvement reduces the cost of debugging programs that have been corrected or enhanced, and has a significant impact on current debugging practices.

Impact and interest:

Search Google Scholar™

Citation counts are sourced monthly from Scopus and Web of Science® citation databases.

These databases contain citations from different subsets of available publications and different time periods and thus the citation count from each is usually different. Some works are not in either database and no count is displayed. Scopus includes citations from articles published in 1996 onwards, and Web of Science® generally from 1980 onwards.

Citations counts from the Google Scholar™ indexing service can be viewed at the linked Google Scholar™ search.

Full-text downloads:

285 since deposited on 03 Dec 2008
15 in the past twelve months

Full-text downloads displays the total number of times this work’s files (e.g., a PDF) have been downloaded from QUT ePrints as well as the number of downloads in the previous 365 days. The count includes downloads for all files if a work has more than one.

ID Code: 16445
Item Type: QUT Thesis (PhD)
Supervisor: Gough, Kevin, Roe, Paul, & Abramson, David
Keywords: Relative Debugging, Automatic Debugging, Automatic Relative Debugging, data flow browsing, testing and debugging tools
Divisions: Past > QUT Faculties & Divisions > Faculty of Science and Technology
Past > Schools > Information Systems
Department: Faculty of Information Technology
Institution: Queensland University of Technology
Copyright Owner: Copyright Aaron James Searle
Deposited On: 03 Dec 2008 04:03
Last Modified: 28 Oct 2011 19:48

Export: EndNote | Dublin Core | BibTeX

Repository Staff Only: item control page