Project
Members
Faculty:
Tzi-cker Chiueh
Students:
Pradipta De and
Rupa Krishnan and
Anindya Neogi
Overview
An increasing thrust in the area of
cluster-based computing has lead to the development of a myriad of network
protocols to communicate among machines in the cluster. These protocols
range from distributed middleware message passing schemes to server load
balancing protocols mostly implemented in the kernel. Complexity of such
protocols and their possible usage in mission-critical systems mandates
fool-proof verification and testing before deployment. A major component
of the complexity of communication protocols is attributed to network failure
and various types of error handling. Formal processes exist to verify if
a protocol specification contains bugs or efficiency bottlenecks. However
it is often the case that the problem lies in the incorrect implementation
of a correct and verified protocol specification.
In this project we are building a system on which one may test the "actual implementation" of a network protocol and validate its operation in the presence of emulated network misbehaviors. The system consists of
System Architecture
Publications:
VirtualWire: A Fault
Injection and Analysis Tool for Network Protocols [ ps
]
Pradipta De, Anindya Neogi and Tzi-cker Chiueh
In Proceedings of International Conference on Distributed
Computing Systems (ICDCS), May 2003
Related Work
Z. Segall and T. Lin, Fiat:
Fault-injection based automated testing environment, in 18th Intl
Symposium on Fault Tolerant Computing, 1988.
J. Carreira, H. Madeira, and J. G. Silva, Xception:
Software fault injection and monitoring in processor functional units, in
5th IFIP Intl Working ConferenceDependable Computing of Critical
Applications (DCCA), Sept. 1995.
S. Han, H. A. Rosenberg, and K. G. Shin, Doctor:
An integrated software fault injection environment for distributed systems,
in IEEE International Computer Performance and Dependability Symposium,
1995.
D. Stott, B. Floering, Z. Kalbarczyk, and R. K. Iyer, Nftape:
A framework for assessing dependability in distributed systems with lightweight
fault injectors, in 4th IEEE International Computer Performance and
Dependability Symposium (IPDS-2K), 2000.
D. Engler, B. Chelf, A. Chou, and S. Hallem, Checking
system rules using system-specific, programmer-written compiler extensions,
in OSDI, 2000.
V. Paxson, Automated
packet trace analysis of tcp implementations, in ACM SIGCOMM,
1997.
D. E. Comer and J. C. Lin, Probing
tcp implementations, in USENIX, June 1994.
S. Dawson, F. Jahanian, and T. Mitton, Orchestra:
A fault injection environment for distributed systems, in 26th
International Symposium on Fault-Tolerant Computing (FTCS), 1996.
J. L. Griffin, Testing
protocol implementation robustness, in 29th International Symposium on
Fault-Tolerant Computing, 1999.
T. Tsai and N. Singh, Reliability
testing of applications on windows NT, in International Conference on
Dependable Systems and Networks (DSN), 2000.
D.B.Ingham and G.D.Parrington, Delayline:
A wide-area network emulation tool, in Computing Systems, 1994.
L. Rizzo, Dummynet:
a simple approach to the evaluation of network protocols, in ACM
computer Communications Review, 1997.
Project Status
We have completed system design and the parser
for the specification language. We have implemented the fault injection and
analysis engine as a kernel module that runs on Linux 2.4 kernel using Netfilter
hooks. We are currently porting this tool for use in protocol debugging for
multi-hop wireless ad hoc networks, as part of the MiNT
project.