Patching Locking Bugs Statically with Crayons

نویسندگان

چکیده

The Linux Kernel is a world-class operating system controlling most of our computing infrastructure: mobile devices, Internet routers and services, the supercomputers. also an example low-level software with no comprehensive regression test suite (for good reasons). kernel’s tremendous societal importance imposes strict stability correctness requirements. These properties make challenging relevant target for static automated program repair (APR). Over past decade, significant progress has been made in dynamic APR. However, APR techniques do not translate naturally to systems without tests. We present technique addressing sequential locking API misuse bugs Kernel. attack key challenge APR, namely, lack detailed specification, by combining analysis machine learning complement information presented analyzer. In experiments on historical real-world kernel, we were able automatically re-produce or propose equivalent patches 85% human-made patches, rank them among top three candidates 64% cases five 74%.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Simulating Wax Crayons

We present a physically-inspired model of wax crayons, which synthesizes drawings from collections of userspecified strokes. Paper is represented by a height-field texture, and a crayon is modelled with a 2D mask that evolves as it interacts with the paper. The amount of wax deposition is computed based on the crayon contact profile, contact force, and friction. Previously deposited wax is smea...

متن کامل

Enhancing Patching Performance Through Double Patching

Patching is an efficient bandwidth-sharing technique for video-on-demand systems. Its performance, however, has limitation: as the time distance to the last regular multicast enlarges, the patching cost for new requests increases and eventually, a new regular multicast must be scheduled to balance the cost. In this paper, we address this problem by proposing a new technique called Double Patchi...

متن کامل

A Bidirectional Deposition Model of Wax Crayons

We present a physically-inspired model of wax crayons, which synthesizes drawings from collections of userspecified strokes. Paper is represented by a height-field texture, and a crayon is modelled with a 2D mask that evolves as it interacts with the paper. The amount of wax deposition is computed based on the crayon contact profile, contact force, and friction. Previously deposited wax is smea...

متن کامل

Classifying Bugs with Interpolants

We present an approach to the classification of error messages in the context of static checking in the style of ESC/Java. The idea is to compute a semantics-based signature for each error message and then group together error messages with the same signature. The approach aims at exploiting modern verification techniques based on, e.g., Craig interpolation in order to generate small but signif...

متن کامل

Transporting Bugs with Checkpoints

Virtual platform checkpointing is a technology by which the entire state of the software and hardware of an executing system is captured. Checkpoints can be used for many different purposes during software (and hardware) development. Here, we focus on how they are used to transport bugs between bug reporters and developers. Compared to describing the system state and steps needed to reproduce a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: ACM Transactions on Software Engineering and Methodology

سال: 2023

ISSN: ['1049-331X', '1557-7392']

DOI: https://doi.org/10.1145/3548684