Injecting Communication Faults to Experimentally Validate Java Distributed Applications

  • Gabriela Jacques-Silva
  • Roberto Jung Drebes
  • Taisy Silva Weber
  • Eliane Martins
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3563)


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, 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 are the ones developed in Java. Using, software developers can complete the test cycle validating the high level fault detection and recovery mechanisms built on their applications.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Hsueh, M.-C., Tsai, T., Iyer, R.: Fault Injection Techniques and Tools. IEEE Computer 30 (4), 75–82 (1997)Google Scholar
  2. 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. 3.
    Carreira, J., Silva, J.G.: Why do Some (weird) People Inject Faults? ACM SIGSOFT, Software Engineering Notes 23 (1), 42–43 (1998)CrossRefGoogle Scholar
  4. 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. 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. 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. 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. 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. 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. 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. 11.
    Chiba, S.: Load-time Structural Reflection in Java. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 313. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Cristian, F.: Understanding Fault-Tolerant Distributed Systems. Communications of the ACM 34(2), 56–78 (1991)CrossRefGoogle Scholar
  13. 13.
    Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley, Reading (1999)Google Scholar
  14. 14.
    Ban, B.: JavaGroups - Group Communication Patterns in Java, Department of Computer Science. Cornell University (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Gabriela Jacques-Silva
    • 1
  • Roberto Jung Drebes
    • 1
  • Taisy Silva Weber
    • 1
  • Eliane Martins
    • 2
  1. 1.Instituto de InformáticaUniversidade Federal do Rio Grande do SulPorto AlegreBrazil
  2. 2.Instituto de ComputaçãoUniversidade Estadual de CampinasCampinasBrazil

Personalised recommendations