English

Scalable Comparison of JavaScript V8 Bytecode Traces

Networking and Internet Architecture 2019-10-17 v1

Abstract

The comparison and alignment of runtime traces are essential, e.g., for semantic analysis or debugging. However, naive sequence alignment algorithms cannot address the needs of the modern web: (i) the bytecode generation process of V8 is not deterministic; (ii) bytecode traces are large. We present STRAC, a scalable and extensible tool tailored to compare bytecode traces generated by the V8 JavaScript engine. Given two V8 bytecode traces and a distance function between trace events, STRAC computes and provides the best alignment. The key insight is to split access between memory and disk. STRAC can identify semantically equivalent web pages and is capable of processing huge V8 bytecode traces whose order of magnitude matches today's web like https://2019.splashcon.org, which generates approx. 150k of V8 bytecode instructions.

Cite

@article{arxiv.1910.03478,
  title  = {Scalable Comparison of JavaScript V8 Bytecode Traces},
  author = {Javier Cabrera-Arteaga and Martin Monperrus and Benoit Baudry},
  journal= {arXiv preprint arXiv:1910.03478},
  year   = {2019}
}

Comments

10 pages, 6 figures, 2 tables,

R2 v1 2026-06-23T11:37:44.266Z