Skip to main content

Injecting Communication Faults to Experimentally Validate Java Distributed Applications

  • Conference paper
Advanced Distributed Systems (ISSADS 2005)

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

Included in the following conference series:

  • 964 Accesses

Abstract

The use of Java to develop highly available network services and the inherent unreliability of communication systems require the validation of its fault tolerance mechanisms to avoid unexpected behavior during execution. Tools for testing distributed programs that must remain operational in a faulty environment are not common and are generally difficult to operate. One possible solution is applying a fault injector to emulate communication faults and test the behavior of the distributed application under these faults. We developed Jaca.net, an extension of the fault injector based on computational reflection Jaca, to include UDP communication faults to its fault model. Potential target applications of Jaca and Jaca.net are the ones developed in Java. Using Jaca.net, software developers can complete the test cycle validating the high level fault detection and recovery mechanisms built on their applications.

Project developed in collaboration with HP Brazil R&D and CNPq/Brazil Project ACERTE (#472084/2003-8)

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Hsueh, M.-C., Tsai, T., Iyer, R.: Fault Injection Techniques and Tools. IEEE Computer 30 (4), 75–82 (1997)

    Google Scholar 

  2. Martins, E., Rubira, C.M.F., Leme, N.G.M.: Jaca: A Reflective Fault Injection Tool Based on Patterns. In: Proceedings of DSN 2002, Washington, USA (2002)

    Google Scholar 

  3. Carreira, J., Silva, J.G.: Why do Some (weird) People Inject Faults? ACM SIGSOFT, Software Engineering Notes 23 (1), 42–43 (1998)

    Article  Google Scholar 

  4. Carreira, J., Madeira, H., Silva, J.G.: Assessing the Effects of Communication Faults on Parallel Applications. In: Proceedings of IPDS Erlangen, Germany (1995)

    Google Scholar 

  5. Dawson, S., Jahanian, F., Mitton, T.: ORCHESTRA: A Probing and Fault Injection Environment for Testing Protocol Implementations. In: Proceedings of IPDS 1996, Urbana-Champaign, USA (1996)

    Google Scholar 

  6. Barcelos, P.P.A., Leite, F.O., Weber, T.S.: Building a Fault Injector to Validate Fault Tolerant Communication Protocols. In: Proceedings of PCS 1999, Ensenada, Mexico (1999)

    Google Scholar 

  7. Aidemark, J., Vinter, J., Folkesson, P., Karlsson, J.: GOOFI: Generic Object-Oriented Fault Injection Tool. In: Proceedings of DSN 2001, Göteborg, Sweden (2001)

    Google Scholar 

  8. Stott, D.T., Floering, B., Burke, D., Kalbarczyk, Z., Iyer, R.K.: NFTAPE: A Framework for Assessing Dependability in Distributed Systems with Lightweight Fault Injectors. In: Proceedings of IPDS 2000, Chicago, USA (2000)

    Google Scholar 

  9. Barcelos, P.P.A., Drebes, R.J., Jacques-Silva, G., Weber, T.S.: A Toolkit to Test the Intrusion of Fault Injection Methods. In: Proceedings of the 5th IEEE Latin- American Test Workshop, Cartagena, Colombia (2004)

    Google Scholar 

  10. Leme, N.G.M., Martins, E., Rubira, C.M.F.: A Software Fault Injection Pattern System. In: Proceedings of PLoP 2001, Monticello, USA (2001)

    Google Scholar 

  11. Chiba, S.: Load-time Structural Reflection in Java. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 313. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  12. Cristian, F.: Understanding Fault-Tolerant Distributed Systems. Communications of the ACM 34(2), 56–78 (1991)

    Article  Google Scholar 

  13. Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley, Reading (1999)

    Google Scholar 

  14. Ban, B.: JavaGroups - Group Communication Patterns in Java, 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

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jacques-Silva, G., Drebes, R.J., Weber, T.S., Martins, E. (2005). Injecting Communication Faults to Experimentally Validate Java Distributed Applications. In: Ramos, F.F., Larios Rosillo, V., Unger, H. (eds) Advanced Distributed Systems. ISSADS 2005. Lecture Notes in Computer Science, vol 3563. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11533962_21

Download citation

  • DOI: https://doi.org/10.1007/11533962_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-28063-7

  • Online ISBN: 978-3-540-31674-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics