Compiler-Assisted Debugging and Multiple Instruction Retry.

Abstract

Backward execution requires the saving of historic information concurrently with the normal execution in order for a program to roll back. There are several applications for which backward execution is useful. In an environment where reliability is a concern, it may be necessary to roll back the program to a previously executed state in case of system faults. Multiple instruction retry is an alternative to checkpointing for recovery from a transient processor failure, especially when the error detection latency is only a few cycles. Speculative execution can achieve significant speed up for superscalar architectures by utilizing instruction retry to roll back the computation above mispredicted branches. Debugging is another field that can benefit from backward execution. Allowing the user to undo several instructions at specific positions may facilitate program debugging. This thesis describes schemes that have been implemented for multiple instruction retry for both RISC- type scalar processors, and very long instruction word (VLIW) architectures. The thesis also presents approaches that incorporate backward execution into a debugger, at both the compiler and the debugger levels.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 01, 1994
Accession Number
ADA288995

Entities

People

  • Shyh-kweh Chen

Organizations

  • University of Illinois Urbana–Champaign

Tags

Communities of Interest

  • C4I
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Application Software
  • Coding
  • Compilers
  • Computations
  • Computer Program Reliability
  • Computer Programming
  • Computer Programs
  • Computers
  • Debugging
  • Detection
  • Environment
  • Equations Of State
  • Instruction Set Architecture
  • Recovery
  • Reliability
  • Simulations

Fields of Study

  • Computer science
  • Engineering

Readers

  • Parallel and Distributed Computing.