Title :
A DSL approach to improve productivity and safety in device drivers development
Author :
Réveilleré, Laurent ; Merillon, Fabrice ; Consel, Charles ; Marlet, Renuaud ; Muller, Gilles
Author_Institution :
IRISA/INRIA, Rennes I Univ., France
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
Keywords :
device drivers; high level languages; program testing; program verification; safety; software engineering; Device Interaction Language; Devil language; assembly-level operations; debugging; description consistency checking; device communication definition; device driver development; domain-specific language; language expressiveness; mutation testing; peripheral devices; productivity; readability; safety; Assembly; Computer bugs; DSL; Decoding; Documentation; Domain specific languages; Hardware; Product safety; Productivity; Safety devices;
Conference_Titel :
Automated Software Engineering, 2000. Proceedings ASE 2000. The Fifteenth IEEE International Conference on
Conference_Location :
Grenoble
Print_ISBN :
0-7695-0710-7
DOI :
10.1109/ASE.2000.873655