The use of virtual devices in place of physical hardware is increasing in activities such as design, testing and debugging. Yet virtual devices are simply software applications, and like all software they are prone to faults. A full system simulator (FSS), is a class of virtual machine that includes a large set of virtual devices-enough to run the full target software stack. Defects in an FSS virtual device may have cascading effects as the incorrect behavior can be propagated forward to many different platforms as well as to guest programs. In this work we present VDTest, a novel framework for testing virtual devices within an FSS. VDTest begins by generating a test specification obtained through static analysis. It then employs a two-phase testing approach to test virtual components both individually and in combination. It leverages a differential oracle strategy, taking advantage of the existence of a physical or golden device to eliminate the need for manually generating test oracles. In an empirical study using both open source and commercial FSSs, we found 64 faults, 83% more than random testing.
|Title of host publication||Proceedings - 2016 IEEE/ACM 38th IEEE International Conference on Software Engineering Companion, ICSE 2016|
|Number of pages||12|
|ISBN (Electronic)||9781450339001, 9781450342056|
|State||Published - May 14 2016|
|Event||2016 IEEE/ACM 38th IEEE International Conference on Software Engineering, ICSE 2016 - Austin, United States|
Duration: May 14 2016 → May 22 2016
|Name||Proceedings - International Conference on Software Engineering|
|Conference||2016 IEEE/ACM 38th IEEE International Conference on Software Engineering, ICSE 2016|
|Period||5/14/16 → 5/22/16|
Bibliographical notePublisher Copyright:
© 2016 ACM.
- Device Drivers
- Test Oracles
- Virtual Devices
ASJC Scopus subject areas