Abstract
Software-implemented fault injection is a powerful strategy to test fault-tolerant protocols in distributed environments. In this paper, we present ComFIRM, a communication fault injection tool we developed which minimizes the probe effect on the tested protocols. ComFIRM explores the possibility to insert code directly inside the Linux kernel in the lowest level of the protocol stack through the load of modules. The tool injects faults directly into the message exchange subsystem, allowing the definition of test scenarios from a wide fault model that can affect messages being sent and/or received. Additionally, the tool is demonstrated in an experiment which applies the fault injector to evaluate the behavior of a group membership service under communication faults.
Partially supported by HP Brazil R&D and CNPq Project # 472084/2003-8.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Echtle, K., Leu, M.: The EFA fault injector for fault-tolerant distributed system testing. In: Proc. of the IEEEWorkshop on Fault-Tolerant Parallel and Distributed Systems, pp. 28–35 (1992)
Rosenberg, H.A., Shin, K.G.: Software fault injection and its application in distributed systems. In: Proc. of the 23rd Intl. Symposium on Fault Tolerant Computing, pp. 208–217 (1993)
Han, S., Shin, K.G., Rosenberg, H.: DOCTOR: An integrateD sOftware fault injeCTiOn enviRonment for distributed real-time systems. In: Proc. of the Intl. Computer Performance and Dependability Symposium, pp. 204–213 (1995)
Dawson, S., Jahanian, F., Mitton, T., Tung, T.L.: Testing of fault-tolerant and real-time distributed systems via protocol fault injection. In: Proc. of the 26th Intl. Symposium on Fault Tolerant Computing, pp. 404–414 (1996)
Jacques-Silva, G., Drebes, R.J., Gerchman, J., Weber, T.S.: FIONA: A fault injector for dependability evaluation of Java-based network applications. In: Proc. of the 3rd IEEE Intl. Symposium on Network Computing and Applications, pp. 303–308 (2004)
Farchi, E., Krasny, Y., Nir, Y.: Automatic simulation of network problems in UDP-based Java programs. In: Proc. of IEEE International Parallel & Distribute Processing Symposium 2004, Santa Fe, New Mexico (2004)
Russell, R., Welte, H.: Linux netfilter hacking HOWTO (2002), Available at, http://www.netfilter.org/documentation/
Beck, M.: Linux Kernel Internals, 2nd edn. Addison-Wesley, Reading (1998)
Cristian, F.: Understanding fault-tolerant distributed systems. Communications of the ACM 34, 56–78 (1991)
Dawson, S., Jahanian, F.: Probing and fault injection of protocol implementations. Technical Report CSE-TR-217-94. University of Michigan (1994)
Carson, M., Santay, D.: NIST Net: a Linux-based network emulation tool. SIGCOMM Computer Communication Review 33, 111–126 (2003)
Rizzo, L.: Dummynet: a simple approach to the evaluation of network protocols. SIGCOMM Computer Communication Review 27, 31–41 (1997)
Wiesmann, M., Défago, X., Schiper, A.: Group communication based on standard interfaces. In: Proc. of the 2nd IEEE Intl. Symposium on Network Computing and Applications, Cambridge, MA, pp. 140–147 (2003)
Ban, B.: JavaGroups - Group communication patterns in Java. Technical report, Department of Computer Science, Cornell University (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Drebes, R.J., Jacques-Silva, G., da Trindade, J.M.F., Weber, T.S. (2006). A Kernel-Based Communication Fault Injector for Dependability Testing of Distributed Systems. In: Ur, S., Bin, E., Wolfsthal, Y. (eds) Hardware and Software, Verification and Testing. HVC 2005. Lecture Notes in Computer Science, vol 3875. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11678779_13
Download citation
DOI: https://doi.org/10.1007/11678779_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-32604-5
Online ISBN: 978-3-540-32605-2
eBook Packages: Computer ScienceComputer Science (R0)