Glossary

BB

A unit of execution history of a program. Broadly analogous to a basic block.

bbcount

A count of BBs executed by a program, which serves as a coarse-grained measure of how much code has run so far. Represented by an integer starting at 1 and increasing as execution progresses.

bookmark

A named time in execution history.

breakpoint

A location at which the program will be stopped and control returned to the debugger.

Bridge

The internal name for the component that replays a recording. It presents a JDWP interface to the Plugin.

event log

A record of non-deterministic events in the execution history of a program.

execution history

A record of the behaviour of a program in a form that can be replayed by the Plugin.

JDWP

The Java Debug Wire Protocol (JDWP) is used for communication between a debugger such as IntelliJ and (usually) the agent inside a Java Virtual Machine. The Bridge has its own implementation of this protocol.

Keyserver

The Keyserver is Undo’s license server. This component needs to be installed if the Plugin is to be used with a floating license. The Plugin needs to have network access to the machine running the Keyserver.

LiveRecorder

An Undo product that provides API calls to start recording an application and to save a recording that can be loaded later.

LiveRecorder recording

A file containing the execution history of a program in a form that can be replayed by the Plugin.

Plugin

The Time Travel Debug for Java plugin installed into IntelliJ IDEA. The plugin communicates with the Bridge via JDWP

pc
program counter

A register whose value is the address of an instruction to be executed. When the program is stopped in the debugger, its value is typically the address of the next instruction to be executed.

record mode

In this mode the program’s execution history is being recorded so that it can be saved or replayed. As long as execution proceeds forwards, the program remains in record mode, but reverse-execution actions and time-travel actions need to switch to replay mode.

replay mode

In this mode, the program is at a time earlier than the latest time in its execution history, or the Plugin is replaying a LiveRecorder recording.

reverse-execution actions

Actions in the Plugin that execute the program as if in reverse, stopping at breakpoints.

snapshot

A representation of the state of a program at a particular time in its execution history.

time

A point in the execution history of a program, represented by a bbcount and a program counter value.

time-travel actions

The Plugin actions that jump to a time in the program’s execution history. Unlike reverse-execution actions, these actions do not stop at breakpoints <breakpoint>

timestamp

LiveRecorder recognises timestamps in the following default formats: HH:mm:ss.SSS, HH:mm:ss,SSS, yyyy-MM-dd HH:mm:ss.SSS, yyyy-MM-dd HH:mm:ss,SSS and MMM dd, yyyy hh:mm:ss a. You can add other time formats under Settings › Tools › LiveRecorder › Timestamp patterns.

Undo Engine

The technology implementing record, replay, and time travel debugging.

UndoLR

A former name for LiveRecorder.

wall-clock time

A description of a calendar date and clock time. Compare with time.

watchpoint

A watchpoint is a type of breakpoint that stops the program when the value of an expression changes.