2020
DOI: 10.1007/978-3-030-53291-8_29
|View full text |Cite
|
Sign up to set email alerts
|

Synthesizing JIT Compilers for In-Kernel DSLs

Abstract: Modern operating systems allow user-space applications to submit code for kernel execution through the use of in-kernel domain specific languages (DSLs). Applications use these DSLs to customize system policies and add new functionality. For performance, the kernel executes them via just-in-time (JIT) compilation. The correctness of these JITs is crucial for the security of the kernel: bugs in in-kernel JITs have led to numerous critical issues and patches. This paper presents JitSynth, the first tool for synt… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
16
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
5
1

Relationship

0
6

Authors

Journals

citations
Cited by 17 publications
(16 citation statements)
references
References 30 publications
0
16
0
Order By: Relevance
“…As we are not aware of a benchmark of infeasible synthesis problems, we use specifications from four sources: The bit vector rewrite rules of Nötzli et al [16], the code optimizations of Buchwald [3], the test cases in the public repository of Sasnauskas et al [18] without undefined behavior, and the Syntax Guided Synthesis competition benchmark [1]. As we are restricted to bit vector specifications with a single equality constraint and without precondition, this yields 26 + 56 + 23 + 19 = 124 specifications.…”
Section: Discussionmentioning
confidence: 99%
See 3 more Smart Citations
“…As we are not aware of a benchmark of infeasible synthesis problems, we use specifications from four sources: The bit vector rewrite rules of Nötzli et al [16], the code optimizations of Buchwald [3], the test cases in the public repository of Sasnauskas et al [18] without undefined behavior, and the Syntax Guided Synthesis competition benchmark [1]. As we are restricted to bit vector specifications with a single equality constraint and without precondition, this yields 26 + 56 + 23 + 19 = 124 specifications.…”
Section: Discussionmentioning
confidence: 99%
“…a user-specified cost model that assigns a cost to each operation. Such a problem lies at the heart of many applications [5,[17][18][19]. Later, we supply the generated synthesis problems to a second synthesizer.…”
Section: Impact Of Algorithms 1 and 2 (Rq2)mentioning
confidence: 99%
See 2 more Smart Citations
“…Another line of recent work has focused on eBPF, the packet-processing framework supported in the Linux kernel. The JitK compiler [Wang et al 2014] uses a machineverified just-in-time compiler to generate code that is guaranteed to satisfy the safety conditions enforced by the kernel verifier, while JitSynth leverages program synthesis [Geffen et al 2020].…”
Section: Related Workmentioning
confidence: 99%