VDTest: An Automated Framework to Support Testing for Virtual Devices

  title={VDTest: An Automated Framework to Support Testing for Virtual Devices},
  author={Tingting Yu and Xiao Qu and Myra B. Cohen},
  journal={2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE)},
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… 

Figures and Tables from this paper

Specification-Driven Conformance Checking for Virtual/Silicon Devices Using Mutation Testing
A mutation-based framework for effective and efficient conformance checking between virtual/silicon device implementations and their specifications and based on defined mutation operators, device specifications can be automatically instrumented with weak mutant-killing constraints to model potential erroneous device behaviors.
Automatic Detection, Validation, and Repair of Race Conditions in Interrupt-Driven Embedded Software
This paper presents SDRacer, an automated framework that can detect, validate and repair race conditions in interrupt-driven embedded software, and evaluates it on nine real-world embedded programs written in C language.
Automatic detection and validation of race conditions in interrupt-driven embedded software
SDRacer is presented, an automated framework that can detect and validate race conditions in interrupt-driven embedded software and employs virtual platforms to dynamically validate these races by forcing the interrupts to occur at the potential racing points.
How software engineering research aligns with design science: a review
The design science lens helps emphasize the theoretical contribution of research output—in terms of technological rules—and reflect on the practical relevance, novelty and rigor of the rules proposed by the research.


Symbolic Execution of Virtual Devices
This work presents an approach to static analysis of virtual devices which is central to achieving observability and traceability and applies this approach to virtual devices of five network adapters.
Testing system virtual machines
This paper presents a methodology specific for testing system virtual machines, based on protocol-specific fuzzing and differential analysis, and consists in forcing a virtual machine and the corresponding physical machine to execute specially crafted snippets of user- and system-mode code and in comparing their behaviors.
Post-silicon conformance checking with virtual prototypes
  • Li Lei, F. Xie, Kai Cong
  • Computer Science
    2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC)
  • 2013
This approach symbolically executes the virtual device with the same driver request sequence to the silicon device, and checks if the interface states of the silicon and virtual devices are consistent, and demonstrates that the approach is useful and efficient in facilitating device/driver covalidation at the post-silicon stage.
A methodology for testing CPU emulators
This article presents a testing methodology specific for CPU emulators, based on fuzzing, and analyzed five state-of-the-art IA-32 emulators and found several defects in each of them, some of which can prevent proper execution of programs.
Testing Closed-Source Binary Device Drivers with DDT
This paper applies DDT to several closed-source Microsoft-certified Windows device drivers and discovered 14 serious new bugs, which envision DDT being useful not only to developers and testers, but also to consumers who want to avoid running buggy drivers in their OS kernels.
Environment modeling and simulation for automated testing of soft real-time embedded software
The goal is to provide a practical approach to the model-based testing of RTES by allowing system testers to model the system environment in such a way as to enable its black-box test automation.
S2E: a platform for in-vivo multi-path analysis of software systems
S2E's use in developing practical tools for comprehensive performance profiling, reverse engineering of proprietary software, and bug finding for both kernel-mode and user-mode binaries is demonstrated.
An empirical study of injected versus actual interface errors
Analysis in the context of widely used software libraries reveals that existing interface error models are not suitable for emulating software faults, and provides useful insights for improving the representativeness of interface error injection.
Feedback driven adaptive combinatorial testing
This work presents a feedback-driven, adaptive, combinatorial testing approach aimed at detecting and working around masking effects and empirically assess the effectiveness of the proposed approach on two large widely used open source software systems.
Randomized Differential Testing as a Prelude to Formal Verification
A flight software development effort incorporating large-scale (biased) randomized testing on commodity desktop hardware shows that use of a reference implementation, hardware simulation with fault injection, a testable design, and test minimization enabled a high degree of automation in fault detection and correction.