DocumentCode :
708934
Title :
Test driven development for device drivers and rapid hardware prototyping
Author :
Eschweiler, Dominic ; Lindenstruth, Volker
Author_Institution :
Frankfurt Inst. for Adv. Studies, Goethe Univ. Frankfurt, Frankfurt am Main, Germany
fYear :
2015
fDate :
13-17 April 2015
Firstpage :
1
Lastpage :
9
Abstract :
Technologies like microdrivers have simplified the development of device drivers by providing protection against system crashes and allowing the use of programming tools such as debuggers. However, newer software engineering techniques such as Test Driven Development are still not available for developing device drivers, because of the stateful nature of most devices. Additionally, hardware/software codesing often causes a “chicken-and-egg” problem, because driver testing is not possible without a device and vice versa. In this paper we show how Test Driven Development for PCI device drivers works by extending a virtualization software (KVM/Qemu). We show how a fully functional device emulation can be developed and shipped independently to the driver programmer. Furthermore, we outline how the technique can be harnessed for implementing an entirely software-based PCI tracer.
Keywords :
device drivers; hardware-software codesign; peripheral interfaces; program testing; software prototyping; virtualisation; KVM-Qemu; PCI device drivers; chicken-and-egg problem; driver testing; fully functional device emulation; hardware-software codesign; microdrivers; programming tools; rapid hardware prototyping; software engineering techniques; software-based PCI tracer; test driven development; virtualization software; Ash; Emulation; Hardware; Libraries; Programming; Prototypes; Software;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Testing, Verification and Validation Workshops (ICSTW), 2015 IEEE Eighth International Conference on
Conference_Location :
Graz
Type :
conf
DOI :
10.1109/ICSTW.2015.7107425
Filename :
7107425
Link To Document :
بازگشت