Program Manipulation of C Code
summary
A toolchain for scripted source transformations targets large C bases with Coccinelle using its semantic patches language SmPL and metavariables plus the control‑flow .. operator to match patterns. It scales to the Linux tree (about 19 million LOC), produces predictable automated edits (over 8,500 commits), and handles real migrations such as removing an unused argument in 11 files, dropping a redundant field in 54 files, and refactoring interrupt handlers across ~200 files.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:23Julia Lawall keynote intro
- 2:07Partial evaluation to semantic patches
- 23:36Coccinelle code transformations
- 27:28Coccinelle for Linux kernel
- 35:15Coccinelle design dimensions
- 47:53Coccinelle impact in Linux
- 53:11Conclusion and future directions
- 53:52Q&A
related talks
10mAutomating Scope-Based Resource Cleanup with Coccinelle
27mInfiltrating a Code Base: Moving Toward a Better C
23mThe Design of a Self-Compiling C Transpiler Targeting POSIX Shell
21mSPINFER: Inferring Semantic Patches for the Linux Kernel
24mSymbiotic: finding bugs in C programs
55mIdentifying Common Code Smells (In C++)
52mBringing Existing Open-Source Code into MISRA Compliance
59mTheory makes beautiful programs
