Debugging with Reverse Watchpoint

  • Authors:
  • Kazutaka Maruyama;Minoru Terada

  • Affiliations:
  • -;-

  • Venue:
  • QSIC '03 Proceedings of the Third International Conference on Quality Software
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many programmers have had to deal with an overwrittenvariable resulting for example from an aliasing problem.The culprit is obviously the last write-access to that memorylocation before the manifestation of the bug. The usualtechnique for removing such bugs starts with the debuggerby (1) finding the last write and (2) moving the control pointof execution back to that time by re-executing the programfrom the beginning. We call the feature to implement thisprocess "reverse watchpoint" and believe automating it isimportant.In this paper we propose a new concept, "position", thatis, a point in the program execution trace, as needed forstep (2) above. The position enables debuggers to automatethe control of program execution to support common debuggingactivities. We have implemented position in Java witha bytecode transformer. Measurements show that positioncan be provided with an acceptable amount of overhead.