JavaScript (JS) is a popular, platform-independent programming language. To ensure the interoperability of JS programs across different platforms, the implementation of a JS engine should conform to the ECMAScript standard. However, doing so is challenging as there are many subtle definitions of API behaviors, and the definitions keep evolving. We present COMFORT, a new compiler fuzzing framework for detecting JS engine bugs and behaviors that deviate from the ECMAScript standard. COMFORT leverages the recent advance in deep learning-based language models to automatically generate JS test code. As a departure from prior fuzzers, COMFORT utilizes the well-structured ECMAScript specifications to automatically generate test data along with the test programs to expose bugs that could be overlooked by the developers or manually written test cases. COMFORT then applies differential testing methodologies on the generated test cases to expose standard conformance bugs. We apply COMFORT to ten mainstream JS engines. In 200 hours of automated concurrent testing runs, we discover bugs in all tested JS engines. We had identified 158 unique JS engine bugs, of which 129 have been verified, and 115 have already been fixed by the developers. Furthermore, 21 of the Comfort-generated test cases have been added to Test262, the official ECMAScript conformance test suite.


翻译:JavaScript (JS) 是一种受欢迎的、独立于平台的编程语言。 为了确保联署材料程序在不同平台的互操作性, 执行联署材料引擎应该符合ECMAScript 标准。 然而, 这样做具有挑战性, 因为对API行为有许多微妙的定义, 定义也不断演变。 我们介绍了CCOMFORT, 一个新的编译器模糊框架, 用于检测联署材料引擎错误和偏离ECMAScript 标准的行为。 COMFORT 利用最近深入学习语言模型的进展, 自动生成联署材料测试代码。 作为偏离先前的喷雾器, COMFORT 使用结构完善的ECMAScript 规格自动生成测试数据, 与测试程序一起自动生成测试数据, 暴露开发者或人工书面测试案例可能忽略的错误。 我们介绍了COMFORT 对产生的测试案例应用差异测试方法, 以暴露标准合规错误。 在200小时内, 我们在所有测试的联署材料引擎中发现了错误。 我们查明了158个独一无二的JSMAS IM B 。

0
下载
关闭预览

相关内容

专知会员服务
45+阅读 · 2020年10月31日
专知会员服务
40+阅读 · 2020年9月6日
【陈天奇】TVM:端到端自动深度学习编译器,244页ppt
专知会员服务
87+阅读 · 2020年5月11日
开源书:PyTorch深度学习起步
专知会员服务
51+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
177+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
神器Cobalt Strike3.13破解版
黑白之道
12+阅读 · 2019年3月1日
时序数据异常检测工具/数据集大列表
极市平台
65+阅读 · 2019年2月23日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
开发者应当了解的18套机器学习平台
深度学习世界
5+阅读 · 2018年8月14日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
Andrew NG的新书《Machine Learning Yearning》
我爱机器学习
11+阅读 · 2016年12月7日
Arxiv
15+阅读 · 2020年2月6日
VIP会员
相关VIP内容
专知会员服务
45+阅读 · 2020年10月31日
专知会员服务
40+阅读 · 2020年9月6日
【陈天奇】TVM:端到端自动深度学习编译器,244页ppt
专知会员服务
87+阅读 · 2020年5月11日
开源书:PyTorch深度学习起步
专知会员服务
51+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
177+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
相关资讯
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
神器Cobalt Strike3.13破解版
黑白之道
12+阅读 · 2019年3月1日
时序数据异常检测工具/数据集大列表
极市平台
65+阅读 · 2019年2月23日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
开发者应当了解的18套机器学习平台
深度学习世界
5+阅读 · 2018年8月14日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
Andrew NG的新书《Machine Learning Yearning》
我爱机器学习
11+阅读 · 2016年12月7日
Top
微信扫码咨询专知VIP会员