Topic: reversible execution

topics > computer science > programming > Group: debugging

debugging techniques
incremental execution
log-structured file system
undoing actions in a UserInterface
Subtopic: repeatable bug up

Quote: bugs are discovered when they are repetitious; problem of non-recurring bugs such as race conditions [»cbb_1980, OK]

Subtopic: reversible execution up

Quote: ZStep allows a program to run forward or backward. It can step over graphical events
Quote: bdb bidirectional debugger with re-execution instead of history-logging; backwards counterparts of step, continue, next, finish, until, and undo [»bootB6_2000]
Quote: reverse execution of assembly code by executing its 'reverse program'; big reduction in saved state [»akguT4_2004]
Quote: reversible debugging with a ring buffer; 5x slower; reset on system calls and irreversible routines [»chenSK8_2001]

Subtopic: checkpoints up

Quote: practical re-execution of programs with 64-bit counters and periodic checkpoints; less than 100% overhead [»bootB6_2000]
Quote: checkpoints by fork every 1/10 second and thinning of old checkpoints [»bootB6_2000]
Quote: fast undo by always retaining the checkpoint prior to last breakpoint [»bootB6_2000]

Subtopic: step points up

Quote: bdb adds step points before and after functional expressions [»bootB6_2000]
Quote: bdb limits the step points of a program; prevents stepping into library routines [»bootB6_2000]

Subtopic: reversible statements up

Quote: two-pass implementation of bcontinue; first reexecution pass establishes the breakpoint count up to the current position; second pass goes to the nth breakpoint [»bootB6_2000]
Quote: previous reexecution is not the inverse of next; two-pass algorithm [»bootB6_2000]
Quote: finish/before go to function exit/entrance; two-pass algorithm [»bootB6_2000]
Quote: buntil goes to last step point satisfying a condition; useful; two-pass algorithm [»bootB6_2000]

Subtopic: interrupts up

Quote: count backward branches to replay asynchronous interrupts [»slyeJH10_1998]

Subtopic: system call up

Quote: implemented system call replay for 35 of 262 Unix system calls [»bootB6_2000]
Quote: re-execute system calls by logging and replaying return values [»bootB6_2000]

Subtopic: distributed processes up

Quote: added reversible execution across multiple processes to Simula; particularly useful for debugging [»lafoF3_1984]

Subtopic: side effects up

Quote: in debugging, need to general mechanism to remove side-effects so that operations can be reversed and initial states restored [»heerJ4_1985]
Quote: probe..endprobe to evaluate an expression without side effects [»heerJ4_1985]

Related Topics up

Topic: backtracking (30 items)
Topic: debugging techniques (23 items)
Topic: incremental execution (22 items)
Topic: log-structured file system (11 items)
Topic: undoing actions in a UserInterface
(23 items)

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