🤖 AI Summary
Linux kernel evolution frequently breaks device drivers due to API/ABI changes, semantic shifts, and security hardening—necessitating automated repair mechanisms. To address this, we propose DRIVEBENCH: the first executable benchmark for co-evolution of kernels and drivers. Built upon DRIVEBENCH, we design AUTODRIVER—a multi-agent collaborative system integrating large language models, prompt engineering, static code analysis, and QEMU-based functional validation to generate syntactically correct, functionally complete, and semantically consistent patches in a closed-loop, iterative refinement process. Evaluated on 55 real-world driver update scenarios, AUTODRIVER achieves a 56.4% compilation success rate; QEMU validation confirms that most generated patches correctly initialize the corresponding drivers. We publicly release DRIVEBENCH—including its curated dataset, evaluation infrastructure, and AUTODRIVER toolchain—to enable reproducible research and community advancement in kernel-driver co-evolution.
📝 Abstract
Linux kernel evolution breaks drivers through API/ABI changes, semantic shifts, and security-hardening updates. We introduce DRIVEBENCH, an executable corpus of kernel$
ightarrow$driver co-evolution cases, and AUTODRIVER, a closed-loop, LLM-driven system for automating driver maintenance. The system integrates prompt engineering, multi-agent collaboration, static analysis, and iterative validation to ensure that generated patches are not only syntactically correct but also functionally and semantically consistent with kernel conventions. The corpus spans v5.10-v6.10 with 235 validated cases drawn from 612 candidates. In evaluation across 55 cases, AUTODRIVER achieves 56.4% compilation success; QEMU-based boot verification indicates that compiled patches preserve driver initialization in most instances. By releasing DRIVEBENCH and tooling, we enable reproducible research and a practical route to continuous, safe co-evolution of drivers with the Linux kernel.