Bugfox: A Trace-based Analyzer for Localizing the Cause of Software Regression in JavaScript
summary
Bugfox is a trace-based analyzer for JavaScript that instruments programs to log per-call identifiers, argument/this/return values and function-body hashes, aligns before/after traces, and flags suspects using two heuristics: first-different heuristic (first deepest differing call) and frequency heuristic (top-4 most differing calls). Evaluated on 12 real regressions from BugsJS it locates the ground-truth in 10 cases (83%), with the first heuristic solving 6 and the second 4, runs under one minute with modest memory, and currently omits global side-effect logging and struggles with massive refactorings or nondeterministic tests.
AI-written summary · about
chapters (7)
- 0:00Bugfox introduction
- 1:07Regression causes beyond tests
- 5:50Tracing execution differences
- 12:02Bugfox implementation
- 20:27Evaluating on real bugs
- 26:16Summary and future
- 27:21Q&A
related talks
52mStructure aware fuzzing
27mTraces of Errors: Getting Better JavaScript Stacktraces
58mSquashing JavaScript bugs
53mFuture of JavaScript Debugging: Dbux and Dynamic Program Analysis
23mTroubleshooting the fudge out of it
34mVisualising program execution
18mPreview: Verification (Correctness & Debugging)
15mThe JavaScript Debug Robot
