
LiP6-Passy-Kennedy, room 554 http://www.lip6.fr/informations/comment.php
Coccinelle is a program matching and transformation engine targeting C
code. Coccinelle can be used to automate code evolutions, such as updating
code in response to API changes, and for bug finding. In particular, in
contrast to other bug finding tools, Coccinelle is easily configurable with
new bug finding rules, based on a rule language, SmPL, that is very close
to C code. This makes it possible to tailor the evolution or bug finding
process to the needs and conventions of a specific software project.
Coccinelle has been extensively used in the context of Linux for evolutions
and for bug finding.
The purpose of this users day is to present Coccinelle to new users and to
help existing users get more out of their use of the tool. It should be of
interest to anyone who is responsible for maintaining a large code base.
Because Coccinelle can also be used for searching for code patterns,
without transformation, the users day should also be of interest to anyone
interested in understanding software structure and history.
The day will consist of presentations about Coccinelle and associated
tools, as well as a lab session, interspersed with presentations of more
advanced topics. An approximate schedule for the day is as follows:
9:30-10:00: Welcome coffee and croissants
10:00-12:30: Morning session:
Overview of Coccinelle
SmPL basics
Installation of Coccinelle on attendee machines
12:30-14:00: Lunch
14:00-18:00: Afternoon session:
Coccinelle advanced features (inheritance of metavariables, position
variables, dependencies between rules, the use of Python, isomorphisms,
etc.)
Semantic patch inference using spfind
Tracking bugs over multiple software versions using Herodotos
The afternoon talks will be interspersed with lab sessions, in which
participants can test Coccinelle on their own software or available
open source projects.
Participants are requested to bring laptops on which they can install
Coccinelle. Linux is preferred, however, Coccinelle is also usable under
Windows, Mac, and BSD variants.INRIA REGAL, CIRILL