Coccinelle: A program matching and transformation tool

This proposal has been accepted as a session.


One Line Summary

Gain insights into Coccinelle to open new avenues to faster and efficient kernel contributions.


Coccinelle is a program matching and transformation engine which provides the Semantic Patch Language for specifying desired matches and transformations in C code. Coccinelle has been used in past for finding bugs in Linux and performing evolutions. Coccinelle scripts are part of the Linux source distribution, being used by Linux developers on a regular basis. In the presentation, Himangi will review the impact of Coccinelle on the Linux kernel. Himangi will briefly introduce the structure of Coccinelle scripts. She will talk about managed interfaces like devm_ functions, will explain how coccinelle helps detect use-cases and transform them, and will give some examples of code changes. Himangi will discuss about other coccinelle patches such as ARRAY_SIZE, missing iounmap which leads to memory leaks. Himangi will highlight the capabilities of coccinelle and limitations of the tool.