# Impact of Tool Support in Patch Construction

**Authors:** Anil Koyuncu, Tegawend\'e F. Bissyand\'e, Dongsun Kim, Jacques Klein,, Martin Monperrus, Yves Le Traon

arXiv: 1812.07416 · 2018-12-20

## TL;DR

This paper examines how different patching processes in Linux kernel development, especially tool-supported patches, influence patch acceptance and highlights opportunities for automating patch generation from bug detection tools.

## Contribution

It provides empirical insights into patching practices, comparing manual, tool-derived, and automatically generated patches, and identifies opportunities for improving patch automation.

## Key findings

- Tool-supported patches are increasingly adopted by developers.
- Manually-written patches are accepted more quickly.
- Patches often involve multiple change operations.

## Abstract

In this work, we investigate the practice of patch construction in the Linux kernel development, focusing on the differences between three patching processes: (1) patches crafted entirely manually to fix bugs, (2) those that are derived from warnings of bug detection tools, and (3) those that are automatically generated based on fix patterns. With this study, we provide to the research community concrete insights on the practice of patching as well as how the development community is currently embracing research and commercial patching tools to improve productivity in repair. The result of our study shows that tool-supported patches are increasingly adopted by the developer community while manually-written patches are accepted more quickly. Patch application tools enable developers to remain committed to contributing patches to the code base. Our findings also include that, in actual development processes, patches generally implement several change operations spread over the code, even for patches fixing warnings by bug detection tools. Finally, this study has shown that there is an opportunity to directly leverage the output of bug detection tools to readily generate patches that are appropriate for fixing the problem, and that are consistent with manually-written patches.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1812.07416/full.md

## Figures

36 figures with captions in the complete paper: https://tomesphere.com/paper/1812.07416/full.md

## References

52 references — full list in the complete paper: https://tomesphere.com/paper/1812.07416/full.md

---
Source: https://tomesphere.com/paper/1812.07416