Keynote: Inside the Mind of a Coccinelle Programmer
summary
Coccinelle is a user‑scriptable tool that searches 13M lines of kernel C for precise patterns and emits patch‑style fixes; it matches and rewrites code using semantic patches (example: fixes missing parentheses around ! and &&), runs a full-kernel pass in under 30s on an old 8‑core box, and the kernel now cites over 4,500 patches mentioning Coccinelle (3,000+ from others). Real results include devmification (≈170 remaining opportunities) and hundreds of submitted constification and other fixes.
AI-written summary · about
chapters (30)
- 0:00Intro
- 0:52What is Coccinelle
- 2:45Example
- 4:18Fixing the problem
- 4:58Use case
- 5:44History
- 8:30Graphs
- 10:01Current Status
- 10:53Impact on Linux Kernel
- 12:10Examples of Patches
- 13:20Examples of Simple Patches
- 14:43Examples of Complex Patches
- 18:10Probe and Remove Functions
- 22:16Remove Functions
- 22:45Search for Opportunities
- 24:56My Rule
- 27:02Procedural Cases
- 28:28Constipation
- 29:14Multistep approach
- 32:25Lessons learned
- 32:43Start simple
- 34:15DevEmmafication
- 37:28Incremental Development
- 40:09Refine the Semantic Patch
- 41:00False Positive Example
- 41:59Two Rules
- 43:27Patterns
- 44:46Things to know
- 48:51Conclusion
- 50:20C Preprocessor
related talks
01h 14mCoccinelle: Impact and Internals
22mBoosting Compiler Testing by Injecting Real-World Code
01h 07mKeynote – Andy Keep
53mLocknote: How Badly Do We Want Correct Compilers?
26mKeynote: The Kernel Report
01h 04mCompiler Bugs And Bug Compilers
14mKeynote: Rust in the Linux Kernel, Why?
15mCopy-and-Patch Compilation
