2024-12-27 - 11:54

Dates and Events:

OSADL Articles:

2024-10-02 12:00

Linux is now an RTOS!

PREEMPT_RT is mainline - What's next?


2023-11-12 12:00

Open Source License Obligations Checklists even better now

Import the checklists to other tools, create context diffs and merged lists


2023-03-01 12:00

Embedded Linux distributions

Results of the online "wish list"


2022-01-13 12:00

Phase #3 of OSADL project on OPC UA PubSub over TSN successfully completed

Another important milestone on the way to interoperable Open Source real-time Ethernet has been reached


2021-02-09 12:00

Open Source OPC UA PubSub over TSN project phase #3 launched

Letter of Intent with call for participation is now available



Real Time Linux Workshops

1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013

15th Real Time Linux Workshop, October 28 to 31, 2013 at the Dipartimento Tecnologie Innovative, Scuola Universitaria Professionale della Svizzera Italiana in Lugano-Manno, Switzerland

Announcement - Call for participation (ASCII)Hotels - Directions - AgendaPaper Abstracts - Presentations - Registration - Abstract Submission - Sponsors - Gallery

October 28 to 31, 2013
Dipartimento Tecnologie Innovative
Scuola Universitaria Professionale della Svizzera Italiana
Lugano-Manno
Switzerland

A Program Matching and Transformation Tool for C Code

by Julia Lawall, Inria/LIP6-Regal

Coccinelle is an open-source scriptable program matching and transformation tool for C code.  It can be used for bug finding and for automating program maintenance and evolution.  Coccinelle has been used in developing over 1000 patches that have been accepted into the Linux kernel, and Coccinelle scripts are included in the Linux kernel source code.  The main novelty of Coccinelle is its use of a patch-like pattern-specification language, that allows scripts to be expressed in a notation that is very close to the structure of the code to be matched and transformed.  This feature makes Coccinelle easy to learn and facilitates rapid tool prototyping.

The purpose of this tutorial is to introduce Coccinelle to the real time Linux developer community.  The tutorial will consider a number of examples related to bug finding and code evolution, and will include hands-on exercises to allow attendees to interact directly with the tool. A basic knowledge of C code would be useful, but no other background is required. Participants will obtain a working knowledge of Coccinelle and an understanding of the range of problems for which it can be useful.

About Julia Lawall

Julia Lawall is a Senior Researcher at Inria. Her current research focuses on the application of programming-language techniques to improving the robustness of operating systems code. She has been the principal designer and developer of Coccinelle since 2005, and has used Coccinelle in the development of over 1,000 patches that have been accepted into the Linux kernel. She is an associate editor of the journal Higher-Order and Symbolic Computation, a member of the editorial board of the journal Science of Computer Programming, and has served on program committees for both systems and programming languages conferences, including EuroSys, GPCE, ICFP, and POPL.