Coccinelle is a program matching and transformation tool for C code, targeting bug finding and fixing, as well as the automation of pervasive source code evolutions. It can also be used for applications such as code understanding and calculation of software metrics, making it relevant to both software developers and software researchers. A unique feature of Coccinelle is its combination of configurability and accessibility, relying on a patch-like notation that allows developers to specify patterns and transformations that are specific to their software project. This interactive tutorial will give an overview of Coccinelle, in terms of examples from real software.
Note: Attendees should if possible have Coccinelle and the source code of Linux 3.2 installed on their machine.
Linux 3.2 source code: https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.2.tar.gz
Julia Lawall is a Senior Researcher at Inria Paris-Rocquencourt. Her research interests are in the area of improving the quality of infrastructure software, using a variety of approaches including program analysis, program transformation, and the design of domain-specific languages. She is the main developer of the tool Coccinelle for program matching and transformation in C code. Over 1200 patches based on her research have been accepted into the Linux kernel.