2020
DOI: 10.48550/arxiv.2012.03759
|View full text |Cite
Preprint
|
Sign up to set email alerts
|

Exposing Bugs in JavaScript Engines through Test Transplantation and Differential Testing

Abstract: Context. JavaScript is a popular programming language today with several implementations competing for market dominance. Although a specification document and a conformance test suite exist to guide engine development, bugs occur and have important practical consequences. Implementing correct engines is challenging because the spec is intentionally incomplete and evolves frequently. Objective. This paper investigates the use of test transplantation and differential testing for revealing functional bugs in Java… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2022
2022
2023
2023

Publication Types

Select...
2

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(3 citation statements)
references
References 22 publications
0
3
0
Order By: Relevance
“…Moreover, test generation has been explored in the case of native extensions for the JVM (i.e., JNI) [13]. Similar work appeared recently for JavaScript engines, applying differential testing with test transplantation [18] and compiler fuzzing [23,33]. Although we share with these approaches the goal of automatic test generation, these explore a more coarse test generation using and usually think of the VM as a black-box.…”
Section: Related Workmentioning
confidence: 95%
“…Moreover, test generation has been explored in the case of native extensions for the JVM (i.e., JNI) [13]. Similar work appeared recently for JavaScript engines, applying differential testing with test transplantation [18] and compiler fuzzing [23,33]. Although we share with these approaches the goal of automatic test generation, these explore a more coarse test generation using and usually think of the VM as a black-box.…”
Section: Related Workmentioning
confidence: 95%
“…Recent work explores cross-version comparison among a single JVM [38]. Similar work appeared recently for JavaScript engines using test transplantation [21] and compiler fuzzing [23], [36]. Although we share with these approaches the goal of automatic test generation, these explore JIT compiler testing and treat VMs as black boxes.…”
Section: B Automated Virtual Machine Testingmentioning
confidence: 96%
“…Existing fuzzing techniques applied to virtual machines (VM) are aimed at testing (just in time) JIT compiler engines and propose generally the use of template programs that are mutated [6], [7], [17], [21], [23], [24], [36]. We argue however that such approaches, although shown suitable to find compilation errors, are not the most efficient at finding garbage collection bugs.…”
Section: Introductionmentioning
confidence: 99%