Context-Based Event Trace Reduction in Client-Side JavaScript Applications | IEEE Conference Publication | IEEE Xplore

Context-Based Event Trace Reduction in Client-Side JavaScript Applications


Abstract:

Record-replay techniques are developed to facilitate debugging client-side JavaScript application failures. They faithfully record all events that reveal a failure, but r...Show More

Abstract:

Record-replay techniques are developed to facilitate debugging client-side JavaScript application failures. They faithfully record all events that reveal a failure, but record many events irrelevant to the failure. Delta debugging adopts the divide-and-conquer algorithm to generate a minimal event subtrace that still reveals the same failure. However, delta debugging is slow because it may generate lots of syntactically infeasible candidate event subtraces in which some events can trigger syntactical errors (e.g., ReferenceError and TypeError), and thus cannot be replayed as expected. Based on this observation, we propose EvMin, an effective and efficient approach to remove failure-irrelevant events from an event trace. We use the variable usage information (e.g., DOM variable usage) in an event to model the event's context. We require that, each event in an event subtrace has the compatible context with its corresponding one in the original event trace. In this way, we avoid generating syntactically infeasible event subtraces, and dramatically speed up delta debugging. We have implemented EvMin and evaluated it on 10 real-world JavaScript application failures. Our evaluation shows that EvMin generates 72% fewer event subtraces, and takes 84% less time than delta debugging.
Date of Conference: 09-13 April 2018
Date Added to IEEE Xplore: 28 May 2018
ISBN Information:
Conference Location: Västerås, Sweden

Contact IEEE to Subscribe

References

References is not available for this document.