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