CrashFixer: A crash resolution agent for the Linux kernel

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Mathai, Alex, Huang, Chenxi, Ma, Suwei, Kim, Jihwan, Mitchell, Hailie, Nogikh, Aleksandr, Maniatis, Petros, Ivančić, Franjo, Yang, Junfeng, Ray, Baishakhi
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910941835165696
author Mathai, Alex
Huang, Chenxi
Ma, Suwei
Kim, Jihwan
Mitchell, Hailie
Nogikh, Aleksandr
Maniatis, Petros
Ivančić, Franjo
Yang, Junfeng
Ray, Baishakhi
author_facet Mathai, Alex
Huang, Chenxi
Ma, Suwei
Kim, Jihwan
Mitchell, Hailie
Nogikh, Aleksandr
Maniatis, Petros
Ivančić, Franjo
Yang, Junfeng
Ray, Baishakhi
contents Code large language models (LLMs) have shown impressive capabilities on a multitude of software engineering tasks. In particular, they have demonstrated remarkable utility in the task of code repair. However, common benchmarks used to evaluate the performance of code LLMs are often limited to small-scale settings. In this work, we build upon kGym, which shares a benchmark for system-level Linux kernel bugs and a platform to run experiments on the Linux kernel. This paper introduces CrashFixer, the first LLM-based software repair agent that is applicable to Linux kernel bugs. Inspired by the typical workflow of a kernel developer, we identify the key capabilities an expert developer leverages to resolve a kernel crash. Using this as our guide, we revisit the kGym platform and identify key system improvements needed to practically run LLM-based agents at the scale of the Linux kernel (50K files and 20M lines of code). We implement these changes by extending kGym to create an improved platform - called kGymSuite, which will be open-sourced. Finally, the paper presents an evaluation of various repair strategies for such complex kernel bugs and showcases the value of explicitly generating a hypothesis before attempting to fix bugs in complex systems such as the Linux kernel. We also evaluated CrashFixer's capabilities on still open bugs, and found at least two patch suggestions considered plausible to resolve the reported bug.
format Preprint
id arxiv_https___arxiv_org_abs_2504_20412
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle CrashFixer: A crash resolution agent for the Linux kernel
Mathai, Alex
Huang, Chenxi
Ma, Suwei
Kim, Jihwan
Mitchell, Hailie
Nogikh, Aleksandr
Maniatis, Petros
Ivančić, Franjo
Yang, Junfeng
Ray, Baishakhi
Software Engineering
Artificial Intelligence
Operating Systems
Code large language models (LLMs) have shown impressive capabilities on a multitude of software engineering tasks. In particular, they have demonstrated remarkable utility in the task of code repair. However, common benchmarks used to evaluate the performance of code LLMs are often limited to small-scale settings. In this work, we build upon kGym, which shares a benchmark for system-level Linux kernel bugs and a platform to run experiments on the Linux kernel. This paper introduces CrashFixer, the first LLM-based software repair agent that is applicable to Linux kernel bugs. Inspired by the typical workflow of a kernel developer, we identify the key capabilities an expert developer leverages to resolve a kernel crash. Using this as our guide, we revisit the kGym platform and identify key system improvements needed to practically run LLM-based agents at the scale of the Linux kernel (50K files and 20M lines of code). We implement these changes by extending kGym to create an improved platform - called kGymSuite, which will be open-sourced. Finally, the paper presents an evaluation of various repair strategies for such complex kernel bugs and showcases the value of explicitly generating a hypothesis before attempting to fix bugs in complex systems such as the Linux kernel. We also evaluated CrashFixer's capabilities on still open bugs, and found at least two patch suggestions considered plausible to resolve the reported bug.
title CrashFixer: A crash resolution agent for the Linux kernel
topic Software Engineering
Artificial Intelligence
Operating Systems
url https://arxiv.org/abs/2504.20412