Towards Documenting and Automating Collateral Evolutions in Linux Device Drivers

Abstract : Collateral evolutions are a pervasive problem in Linux device driver development, due to the frequent evolution of Linux driver support libraries and APIs. Such evolutions are needed when an evolution in a driver support library affects the library's interface, entailing modifications in all dependent device-specific code. Currently, collateral evolutions in Linux are done nearly manually. The large number of Linux drivers, however, implies that this approach is time-consuming and unreliable, leading to subtle errors when modifications are not done consistently. In this paper, we describe the development of a language-based infrastructure, Coccinelle, with the goal of documenting and automating the kinds of collateral evolutions that occur in device driver code. Because Linux programmers are accustomed to manipulating program modifications in terms of patch files, we base our language on the patch syntax, extending patches to semantic patches.
Type de document :
Rapport
[Research Report] RR-6090, INRIA. 2007
Liste complète des métadonnées

https://hal.inria.fr/inria-00123142
Contributeur : Rapport de Recherche Inria <>
Soumis le : lundi 8 janvier 2007 - 17:02:48
Dernière modification le : mardi 13 décembre 2016 - 15:44:36
Document(s) archivé(s) le : mardi 21 septembre 2010 - 11:42:58

Fichiers

RR-6090.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00123142, version 2

Citation

Yoann Padioleau, René Rydhof Hansen, Julia Lawall, Gilles Muller. Towards Documenting and Automating Collateral Evolutions in Linux Device Drivers. [Research Report] RR-6090, INRIA. 2007. 〈inria-00123142v2〉

Partager

Métriques

Consultations de
la notice

275

Téléchargements du document

162