LLM as an Execution Estimator: Recovering Missing Dependency for Practical Time-travelling Debugging
Yunrui Pei, Hongshu Wang, Wenjie Zhang, Yun Lin, Weiyu Kong, Jin song Dong

TL;DR
This paper introduces RecovSlicing, a novel approach using large language models to accurately infer dynamic data dependencies in programs from partial traces, enabling efficient debugging without exhaustive instrumentation or multiple runs.
Contribution
RecovSlicing leverages LLMs to recover runtime variable definitions from partial traces, significantly improving dependency accuracy and recall in debugging tasks.
Findings
Achieves up to 98.3% accuracy in dependency recovery
Outperforms baseline methods in accuracy and recall
Identifies 16% more regressions in bug localization
Abstract
Determining the dynamic data dependency of a step that reads a variable is challenging. It typically requires either exhaustive instrumentation, which becomes prohibitively expensive when is defined within library calls, or repeated executions, which are impractical for non-deterministic programs. In this work, we propose RecovSlicing for computing dynamic data dependency in a single run, with only partial instrumentation. We explore the intuition that LLM can potentially infer program dynamics based on a partially recorded trace and relevant code as its context. Given (1) a partially recorded trace of a program and (2) the slicing criteria consisting of a query step and a query variable read by , RecovSlicing computes the runtime definition of on the trace by estimating the miss-recorded execution of . In this work, we allow the user to specify implicit…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
