• 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