kirancodes.me
To Proof Maintenance & Beyond!

A DSL Approach to Improve Productivity and Safety in Device Drivers Development

Laurent Réveillère, Fabrice Mérillon, Charles Consel, Renaud Marlet, Gilles Muller

Abstract

Although new peripheral devices are emerging at a frantic pace and require the fast release of drivers, little progress has been made to improve the development of such device drivers. Too often, this development consists of decoding hardware intricacies, based on inaccurate documentation. Then, assembly-level operations need to be used to interact with the device. These low-level operations reduce the readability of the driver and prevent safety properties from being checked. This paper presents an approach based on domain-specific languages (DSLs) to overcome these problems. We define a language, named Devil (DEVice Interaction Language), dedicated to defining the basic communication with a device. Unlike a general-purpose language, Devil allows a description to be checked for consistency. This not only improves the safety of the interaction with the device but also uncovers bugs early in the development process. To asses our approach, we have shown that Devil is expressive enough to specify a large number of devices. To evaluate productivity and safety improvements over traditional development in C, we report an experiment based on mutation testing.

BibTeX
@inproceedings{Reveillere-al:ASE00,
  author    = {Laurent R{\'{e}}veill{\`{e}}re and
               Fabrice M{\'{e}}rillon and
               Charles Consel and
               Renaud Marlet and
               Gilles Muller},
  title     = {A {DSL} Approach to Improve Productivity and Safety in Device Drivers Development},
  booktitle = {ASE},
  pages     = {101--110},
  publisher = {{IEEE} Computer Society},
  year      = {2000},
}

Related papers