Pith. sign in

REVIEW 1 cited by

Understanding Differences among Executions with Variational Traces

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 1807.03837 v1 pith:QGSIYHXY submitted 2018-07-10 cs.SE

classification cs.SE
keywords tracesvariationalinputsexecutiondebuggingdifferencesinputoptions
verification ladder T0 review T1 audit T2 compute T3 formal
0 comments
read the original abstract

One of the main challenges of debugging is to understand why the program fails for certain inputs but succeeds for others. This becomes especially difficult if the fault is caused by an interaction of multiple inputs. To debug such interaction faults, it is necessary to understand the individual effect of the input, how these inputs interact and how these interactions cause the fault. The differences between two execution traces can explain why one input behaves differently than the other. We propose to compare execution traces of all input options to derive explanations of the behavior of all options and interactions among them. To make the relevant information stand out, we represent them as variational traces that concisely represents control-flow and data-flow differences among multiple concrete traces. While variational traces can be obtained from brute-force execution of all relevant inputs, we use variational execution to scale the generation of variational traces to the exponential space of possible inputs. We further provide an Eclipse plugin Varviz that enables users to use variational traces for debugging and navigation. In a user study, we show that users of variational traces are more than twice as fast to finish debugging tasks than users of the standard Eclipse debugger. We further show that variational traces can be scaled to programs with many options.

Discussion (0). Sign in to comment.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. LLM as an Execution Estimator: Recovering Missing Dependency for Practical Time-travelling Debugging

    cs.SE 2025-08 conditional novelty 5.0 of 10

    RecovSlicing recovers dynamic data dependencies from partially recorded execution traces by using a language model to reconstruct missed variable values and aliases.

Pith tools