VirtualWire: A Fault Injection and Analysis Tool for Network Protocols

  • Authors:
  • Pradipta De;Anindya Neogi;Tzi-cker Chiueh

  • Affiliations:
  • -;-;-

  • Venue:
  • ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The prevailing practice for testing protocol implementationsis direct code instrumentation to trigger specificstates in the code. This leaves very little scope forreuse of the test cases. In this paper, we present thedesign, implementation, and evaluation of VirtualWire,a network fault injection and analysis system designedto facilitate the process of testing network protocol implementations.VirtualWire injects user-specified networkfaults and matches network events against anticipatedresponses based on high-level specifications written in adeclarative scripting language. With VirtualWire, testingrequires no code instrumentation and fault specificationscan be reused across versions of a protocol implementation.We illustrate the effectiveness of VirtualWire withexamples drawn from testing Linux's TCP implementationand a real-time Ethernet protocol called Rether. Ineach case, 10 to 20 lines of script is sufficient to specifythe test scenario. VirtualWire is completely transparentto the protocols under test, and additional overhead inprotocol processing latency it introduces is below 10%of the normal.