中文

JavaScript V8 字节码轨迹的可扩展比对

网络与互联网体系结构 2019-10-17 v1

摘要

运行时轨迹的比对与对齐至关重要,例如用于语义分析或调试。然而,朴素序列对齐算法无法满足现代 Web 的需求:(i) V8 的字节码生成过程具有非确定性;(ii) 字节码轨迹规模庞大。我们提出 STRAC,一种为比对 V8 JavaScript 引擎生成的字节码轨迹量身定制的可扩展且可扩展的工具。给定两条 V8 字节码轨迹以及轨迹事件间的距离函数,STRAC 计算并提供最佳对齐。其核心思路是在内存与磁盘之间分割访问。STRAC 能够识别语义等价的网页,并能处理巨大的 V8 字节码轨迹,其数量级与当今 Web 相当,如 https://2019.splashcon.org,该页面生成约 150k 条 V8 字节码指令。

关键词

引用

@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}
}

备注

10 pages, 6 figures, 2 tables,