UP - logo
E-viri
Celotno besedilo
Recenzirano
  • Evaluating the effectivenes...
    Shimari, Kazumasa; Ishio, Takashi; Kanda, Tetsuya; Inoue, Katsuro

    Science of computer programming, September 2024, 2024-09-00, Letnik: 236
    Journal Article

    Debugging is an important task to identify the defects in the software. Especially, logging is an important feature of a software system to record runtime information. Detailed logging allows developers to collect run-time information when 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. In our previous work, to record detailed program behavior within limited storage space constraints, we proposed near-omniscient debugging, which is a methodology that records and visualizes an execution trace using fixed size buffers for each observed instruction. In this paper, we evaluate the effectiveness of near-omniscient debugging in recording infected states while reducing the size of execution traces. We conduct experiments on the Defects4J dataset and evaluate the effectiveness based on the completeness, trace size and runtime overhead. The result shows that near-omniscient debugging can completely record infected states for nearly 80 percent of bugs (with a buffer size of 1024 events). The size of execution traces can be reduced by a factor of one thousand for large repetitive executions. •Effectiveness evaluation of near-omniscient debugging with 831 actual bugs.•Keeping the majority of infected states.•Predictable trace size from the number of methods.•Reducing execution time significantly when all tests are executed.