Skip to main content

A Kernel-Based Communication Fault Injector for Dependability Testing of Distributed Systems

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3875))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Russell, R., Welte, H.: Linux netfilter hacking HOWTO (2002), Available at, http://www.netfilter.org/documentation/

  8. Beck, M.: Linux Kernel Internals, 2nd edn. Addison-Wesley, Reading (1998)

    Google Scholar 

  9. Cristian, F.: Understanding fault-tolerant distributed systems. Communications of the ACM 34, 56–78 (1991)

    Article  MathSciNet  Google Scholar 

  10. Dawson, S., Jahanian, F.: Probing and fault injection of protocol implementations. Technical Report CSE-TR-217-94. University of Michigan (1994)

    Google Scholar 

  11. Carson, M., Santay, D.: NIST Net: a Linux-based network emulation tool. SIGCOMM Computer Communication Review 33, 111–126 (2003)

    Article  Google Scholar 

  12. Rizzo, L.: Dummynet: a simple approach to the evaluation of network protocols. SIGCOMM Computer Communication Review 27, 31–41 (1997)

    Article  Google Scholar 

  13. 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)

    Google Scholar 

  14. Ban, B.: JavaGroups - Group communication patterns in Java. Technical report, Department of Computer Science, Cornell University (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics