JEST: N+1-version Differential Testing of Both JavaScript Engines and Specification
Jihyeok Park, Seungmin An, Dongjun Youn, Gyeongwon Kim, Sukyoung Ryu

TL;DR
This paper introduces JEST, a novel N+1-version differential testing approach for JavaScript engines and ECMAScript, automatically synthesizing programs to detect bugs in both implementations and specifications.
Contribution
It presents a new differential testing method that synthesizes programs based on language specifications to identify bugs in modern JavaScript engines and ECMAScript.
Findings
Detected 44 engine bugs across four JavaScript engines.
Identified 27 bugs in ECMAScript 2020 specification.
Synthesized 1,700 programs covering most syntax and semantics.
Abstract
Modern programming follows the continuous integration (CI) and continuous deployment (CD) approach rather than the traditional waterfall model. Even the development of modern programming languages uses the CI/CD approach to swiftly provide new language features and to adapt to new development environments. Unlike in the conventional approach, in the modern CI/CD approach, a language specification is no more the oracle of the language semantics because both the specification and its implementations can co-evolve. In this setting, both the specification and implementations may have bugs, and guaranteeing their correctness is non-trivial. In this paper, we propose a novel N+1-version differential testing to resolve the problem. Unlike the traditional differential testing, our approach consists of three steps: 1) to automatically synthesize programs guided by the syntax and semantics from…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software Reliability and Analysis Research
