Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation 2022
DOI: 10.1145/3519939.3523457
|View full text |Cite
|
Sign up to set email alerts
|

Interpreter-guided differential JIT compiler unit testing

Abstract: Modern language implementations using Virtual Machines feature diverse execution engines such as byte-code interpreters and machine-code dynamic translators, a.k.a. JIT compilers. Validating such engines requires not only validating each in isolation, but also that they are functionally equivalent. Tests should be duplicated for each execution engine exercising the same execution paths on each of them.In this paper we present a novel automated testing approach for virtual machines featuring byte-code interpret… 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...
4

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(3 citation statements)
references
References 30 publications
0
3
0
Order By: Relevance
“…The subsequent works [17,38,51,60,66,69,84] further improve code coverage for domain-specific testing by mutating the seed programs. Poloto et al [67] proposed an interpreter-guided unit testing solution on the JIT compiler. It employs concolic testing to explore all possible execution paths and the corresponding values of an interpreter and uses these concrete values to implement differential unit testing on multiple JIT compilers.…”
Section: Related Workmentioning
confidence: 99%
“…The subsequent works [17,38,51,60,66,69,84] further improve code coverage for domain-specific testing by mutating the seed programs. Poloto et al [67] proposed an interpreter-guided unit testing solution on the JIT compiler. It employs concolic testing to explore all possible execution paths and the corresponding values of an interpreter and uses these concrete values to implement differential unit testing on multiple JIT compilers.…”
Section: Related Workmentioning
confidence: 99%
“…Lately, several works have explored the path of program fuzzing and differential testing. Recent work explores the generation of test cases for JIT compilers using available interpreters [24]. Other solutions make use of differential testing between different Virtual Machines for a single language.…”
Section: B Automated Virtual Machine Testingmentioning
confidence: 99%
“…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%