Automatic Synthesis of Abstract Operators for eBPF
This paper proposes an approach to automatically synthesize sound and precise abstract operators for the static analyzer in the eBPF verifier. The eBPF verifier ensures that only safe user-defined programs are loaded into the kernel. An unsound operator can lead to unsafe programs being accepted, while an imprecise operator can cause safe programs to be rejected. Our approach starts by generating candidate operators using input-output examples tailored for the eBPF verifier's abstract operators and iteratively refines it for soundness and precision. Using this approach, we have generated more precise variants of existing operators. Our approach also generates numerous sound and unsound operators that can serve as test suites for existing eBPF verification and fuzzing frameworks.
Authors
- Santosh Nagarakatte (ORCID: https://orcid.org/0000-0002-5048-8548)
- Srinivas Narayana (ORCID: https://orcid.org/0000-0002-1128-477X)
- Matan Shachnai
- Harishankar Vishwanathan
Institutions
- Rutgers, The State University of New Jersey (US)
Publication Details
- Published
- 2025-08-19
- DOI
- https://doi.org/10.1145/3748355.3748361
- Primary Topic
- Formal Methods in Verification
- Type
- article
- Field-Weighted Citation Impact
- 0.00