Sciweavers

EUROSYS
2008
ACM

Documenting and automating collateral evolutions in linux device drivers

14 years 9 months ago
Documenting and automating collateral evolutions in linux device drivers
The internal libraries of Linux are evolving rapidly, to address new requirements and improve performance. These evolutions, however, entail a massive problem of collateral evolution in Linux device drivers: for every change that affects an API, all dependent drivers must be updated accordingly. Manually performing such collateral evolutions is time-consuming and unreliable, and has lead to errors when modifications have not been done consistently. In this paper, we present an automatic program transformation tool, Coccinelle, for documenting and automating device driver collateral evolutions. Because Linux programmers are accustomed to manipulating program modifications in terms of patch files, this tool uses a language based on the patch syntax to express transformations, extending patches to semantic patches. Coccinelle preserves the coding style of the original driver, as would a human programmer. We have evaluated our approach on 62 representative collateral evolutions that we...
Yoann Padioleau, Julia L. Lawall, René Rydh
Added 10 Mar 2010
Updated 10 Mar 2010
Type Conference
Year 2008
Where EUROSYS
Authors Yoann Padioleau, Julia L. Lawall, René Rydhof Hansen, Gilles Muller
Comments (0)