Original software publication
NOD4J: Near-omniscient debugging tool for Java using size-limited execution trace

https://doi.org/10.1016/j.scico.2021.102630Get rights and content
Under a Creative Commons license
open access

Highlights

  • Detailed logging leads to larger execution traces.

  • Proposed method records a compact execution trace using fixed size buffers.

  • The execution trace is compact but keeps data dependency.

  • Debugging actual defects is possible on a HTML-based viewer.

Abstract

Logging is an important feature of a software system to record run-time information. Detailed logging allows developers to collect run-time information in situations where they cannot use an interactive debugger, such as continuous integration and web application server cases. However, extensive logging leads to larger execution traces because few instructions can be repeated many times. This paper presents our tool NOD4J, which monitors a Java program's execution within limited storage space constraints and annotates the source code with observed values in an HTML format. Developers can easily investigate the execution and share the report on a web server. We show two examples that our tool can debug defects using incomplete execution traces.

Keywords

Dynamic analysis
Logging
Software visualization

Cited by (0)