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,