SEJul 10, 2018

Understanding Differences among Executions with Variational Traces

arXiv:1807.03837v17 citations
Originality Incremental advance
AI Analysis

This addresses debugging difficulties for programmers dealing with complex interaction faults, though it is incremental as it builds on existing trace comparison and variational execution methods.

The paper tackled the challenge of debugging interaction faults in programs by comparing execution traces of all input options to derive explanations, and introduced variational traces to concisely represent differences. In a user study, variational traces enabled users to finish debugging tasks more than twice as fast compared to using the standard Eclipse debugger.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes