Charles Explorer logo
🇬🇧

Advanced Debugging with JPF Inspector

Publication at Faculty of Mathematics and Physics |
2011

Abstract

Debugging is mostly manual and very tedious work. It might take a long time to analyze the cause of a bug.

Debugging of multi-threaded programs is especially difficult due to non-determinism in the thread scheduling, which is out of control of the developer. In this paper, we present JPF-Inspector---a tool for debugging Java programs, which is an extension of the Java PathFinder model checker.

JPF-Inspector addresses some limitations of existing tools. In particular, it supports reverse stepping of the program execution, modification of a reversed program state, and re-execution from a modified program state.

Furthermore, at each non-deterministic branching point of the state space, the user can choose the branch to be taken.