A Proposal For An Intelligent Debugging Assistant

There are many ways to find bugs in programs. For example, observed input and output values can be compared to predicted values. An execution trace can be examined to locate errors in control flow. The utility of these and other strategies depends on the quality of the specifications available. The...

Full description

Bibliographic Details
Main Author: Kuper, Ron I.
Format: Working Paper
Language:en_US
Published: MIT Artificial Intelligence Laboratory 2008
Online Access:http://hdl.handle.net/1721.1/41213
_version_ 1811095520051986432
author Kuper, Ron I.
author_facet Kuper, Ron I.
author_sort Kuper, Ron I.
collection MIT
description There are many ways to find bugs in programs. For example, observed input and output values can be compared to predicted values. An execution trace can be examined to locate errors in control flow. The utility of these and other strategies depends on the quality of the specifications available. The Debugging Assistant chooses the most appropriate debugging strategy based on the specification information available and the context of the bug. Particular attention has been given to applying techniques from the domain of hardware troubleshooting to the domain of software debugging. This has revealed two important differences between the two domains: (1) Unlike circuits, programs rarely come with complete specifications of their behavior, and (2) Unlike circuits, the cost of probing inputs and outputs of programs is low.
first_indexed 2024-09-23T16:18:31Z
format Working Paper
id mit-1721.1/41213
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T16:18:31Z
publishDate 2008
publisher MIT Artificial Intelligence Laboratory
record_format dspace
spelling mit-1721.1/412132019-04-10T22:36:35Z A Proposal For An Intelligent Debugging Assistant Kuper, Ron I. There are many ways to find bugs in programs. For example, observed input and output values can be compared to predicted values. An execution trace can be examined to locate errors in control flow. The utility of these and other strategies depends on the quality of the specifications available. The Debugging Assistant chooses the most appropriate debugging strategy based on the specification information available and the context of the bug. Particular attention has been given to applying techniques from the domain of hardware troubleshooting to the domain of software debugging. This has revealed two important differences between the two domains: (1) Unlike circuits, programs rarely come with complete specifications of their behavior, and (2) Unlike circuits, the cost of probing inputs and outputs of programs is low. MIT Artificial Intelligence Laboratory 2008-04-22T11:39:38Z 2008-04-22T11:39:38Z 1988-01 Working Paper http://hdl.handle.net/1721.1/41213 en_US MIT Artificial Intelligence Laboratory Working Papers, WP-306 application/pdf MIT Artificial Intelligence Laboratory
spellingShingle Kuper, Ron I.
A Proposal For An Intelligent Debugging Assistant
title A Proposal For An Intelligent Debugging Assistant
title_full A Proposal For An Intelligent Debugging Assistant
title_fullStr A Proposal For An Intelligent Debugging Assistant
title_full_unstemmed A Proposal For An Intelligent Debugging Assistant
title_short A Proposal For An Intelligent Debugging Assistant
title_sort proposal for an intelligent debugging assistant
url http://hdl.handle.net/1721.1/41213
work_keys_str_mv AT kuperroni aproposalforanintelligentdebuggingassistant
AT kuperroni proposalforanintelligentdebuggingassistant