Topic: debugging techniques

topics > computer science > programming > Group: debugging

automated testing
consistency testing
debugging by reading code
debugging by usage rules
execution tracing
incremental execution
immediate computation
model checker
path expression
range checking
reversible execution
run-time assertions
self-identifying data structures
test scripts
Subtopic: remote debugging up

Quote: a telephone link is useful for joint debugging from remote terminals

Subtopic: model checking up

Quote: the ESP compiler extracts Spin models for checking; can often fully debug with the model checker [»kumaS6_2002]

Subtopic: input validation up

Quote: in an improperly functioning system, procedures can get unexpected data [»robsD8_1981]

Subtopic: event association up

Quote: use event associations to take the place of debugging statements that are needed for defensive programming [»hansDR3_1978]
Quote: in debugging, users need to easily associate actions with computational events such as a variable equaling zero [»heerJ4_1985]

Subtopic: programming for debugging up

Quote: the most effective debugging techniques are built into the program itself; produce a big gain in productivity [»sattEH5_1975]

Subtopic: checklist up

Quote: a catalog of characteristic errors helps desk-checking and provides a checklist of possible causes for errors [»gannJD_1978]

Subtopic: web server as debugger up

Quote: use a built-in web server for system status, logs, and debugging [»huntA_2000]

Subtopic: test case up

Quote: ahead-of-time debugging: execute statements as they are typed and update the program state for test cases; better code faster; users liked it [»snelJL7_1997]
Quote: example of ahead-of-time debugging: trace effect on test cases as write the code; makes it easy to catch and fix errors [»snelJL7_1997]
Quote: informal tests of ahead-of-time debugging show significant bug fixing during code entry, better code faster, more fun than a standard programming environment [»snelJL7_1997]
Quote: isolation better than simplification for test cases; e.g., two test cases, one that works and the other doesn't [»zellA2_2002]

Subtopic: post-mortem dump up

Quote: use a post-mortem program to print the contents of store after an error or infinite loop [»wilkMV_1951]
Quote: Wilkes preferred print orders and post-mortem routines over "peeping", i.e., observing a program's progress through a CRT monitor [»wilkMV_1951]
Quote: post mortem dump and execution profile are important parts of a programming system [»sattEH5_1975]
Quote: program proofs, cross-references, attribute lists, and dumps were rarely used
QuoteRef: simscrip_1971 ;;141 listing routines to list all attributes for all entities of a permanent class (facility can be globally turned off)
Quote: post mortem dump and execution profile are important parts of a programming system [»sattEH5_1975]

Subtopic: reference program up

Quote: relative debugging compares program state with state of a reference program; works well for scientific programs after changing the model or implementation [»abraD11_1996]
Quote: Guard performs relative debugging with assertions to compare data structures, permutations to identify subarrays, and plots of error surfaces

Subtopic: structured debugging up

Quote: structured debugging limits the set of programs that can be written; like structured programming limits the set of control structures [»leavBM7_1977]
Quote: structured debugging by domain specific operators suitable to a particular application [»leavBM7_1977]
Quote: debug via a sequence of input/output transformations; at each stage verify the results [»leavBM7_1977]

Related Topics up

Topic: automated testing (25 items)
Topic: backtracking (30 items)
Topic: consistency testing (60 items)
Topic: debugger (37 items)
Topic: debugging by reading code (11 items)
Topic: debugging by usage rules (41 items)
Topic: execution tracing (42 items)
Topic: incremental execution (22 items)
Topic: immediate computation (8 items)
Topic: model checker (49 items)
Topic: path expression (14 items)
Topic: range checking (20 items)
Topic: reversible execution (20 items)
Topic: run-time assertions (25 items)
Topic: self-identifying data structures (18 items)
Topic: test scripts
(13 items)

Updated barberCB 6/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.