Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
102 tokens/sec
GPT-4o
59 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
50 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Automated Conformance Testing for JavaScript Engines via Deep Compiler Fuzzing (2104.07460v1)

Published 15 Apr 2021 in cs.SE and cs.PL

Abstract: 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 LLMs 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.

User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (9)
  1. Guixin Ye (1 paper)
  2. Zhanyong Tang (6 papers)
  3. Shin Hwei Tan (20 papers)
  4. Songfang Huang (51 papers)
  5. Dingyi Fang (5 papers)
  6. Xiaoyang Sun (5 papers)
  7. Lizhong Bian (1 paper)
  8. Haibo Wang (50 papers)
  9. Zheng Wang (400 papers)
Citations (70)

Summary

We haven't generated a summary for this paper yet.