Registration

Register
Login

Content

Call For Papers
Schedule
Presentations
Tutorials
BOFS

Event Info

Venue
Travel
FAQ
Link Us

Additional Info

Sponsors
Special Events Contact Us
Media
Archives
Home



Semantic Patches for Collateral Evolutions in Device Drivers

Yoann Padioleau (padator@wanadoo.fr)

In recent years, the Linux internal driver libraries have been evolving rapidly. In response to each evolution, many "collateral evolutions" are often required in driver code, to bring the drivers up to date with the new library API. Currently, collateral evolutions are mostly done manually, which is time-consuming, or using regular expressions with tools such as sed or Perl, which is error-prone.

This paper will present the Coccinelle tool, which provides a language for specifying collateral evolutions and a transformation engine for performing them. In the spirit of Linux development practice, the language is based on the patch syntax. As compared to specifications in terms of regular expressions, Coccinelle provides a more WYSIWYG approach. The talk is directed to device driver maintainers and library developers, and to anyone who has ever performed a repetitive editing task on C code.

In collaboration with Julia Lawall, René Rydhof Hansen, and Gilles Muller.