Title :
VirtualWire: a fault injection and analysis tool for network protocols
Author :
De, Pradipta ; Neogi, Anindya ; Chiueh, Tzi-cker
Author_Institution :
Dept. of Comput. Sci., State Univ. of New York, Stony Brook, NY, USA
Abstract :
The prevailing practice for testing protocol implementations is direct code instrumentation to trigger specific states in the code. This leaves very little scope for reuse of the test cases. In this paper, we present the design, implementation, and evaluation of VirtualWire, a network fault injection and analysis system designed to facilitate the process of testing network protocol implementations. VirtualWire injects user-specified network faults and matches network events against anticipated responses based on high-level specifications written in a declarative scripting language. With VirtualWire, testing requires no code instrumentation and fault specifications can be reused across versions of a protocol implementation. We illustrate the effectiveness of VirtualWire with examples drawn from testing Linux´s TCP implementation and a real-time Ethernet protocol called Rether. In each case, 10 to 20 lines of script is sufficient to specify the test scenario. VirtualWire is completely transparent to the protocols under test, and additional overhead in protocol processing latency it introduces is below 10% of the normal.
Keywords :
fault tolerant computing; formal specification; formal verification; local area networks; transport protocols; Ethernet protocol; Linux TCP implementation testing; Rether; VirtualWire; code instrumentation; fault specification; network protocol; Access protocols; Computer science; Delay; Ethernet networks; Filters; Formal verification; Instruments; Kernel; Laboratories; System testing;
Conference_Titel :
Distributed Computing Systems, 2003. Proceedings. 23rd International Conference on
Print_ISBN :
0-7695-1920-2
DOI :
10.1109/ICDCS.2003.1203468