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)
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Hsueh, M.-C., Tsai, T., Iyer, R.: Fault Injection Techniques and Tools. IEEE Computer 30 (4), 75–82 (1997)
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)
Carreira, J., Silva, J.G.: Why do Some (weird) People Inject Faults? ACM SIGSOFT, Software Engineering Notes 23 (1), 42–43 (1998)
Carreira, J., Madeira, H., Silva, J.G.: Assessing the Effects of Communication Faults on Parallel Applications. In: Proceedings of IPDS Erlangen, Germany (1995)
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)
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)
Aidemark, J., Vinter, J., Folkesson, P., Karlsson, J.: GOOFI: Generic Object-Oriented Fault Injection Tool. In: Proceedings of DSN 2001, Göteborg, Sweden (2001)
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)
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)
Leme, N.G.M., Martins, E., Rubira, C.M.F.: A Software Fault Injection Pattern System. In: Proceedings of PLoP 2001, Monticello, USA (2001)
Chiba, S.: Load-time Structural Reflection in Java. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 313. Springer, Heidelberg (2000)
Cristian, F.: Understanding Fault-Tolerant Distributed Systems. Communications of the ACM 34(2), 56–78 (1991)
Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley, Reading (1999)
Ban, B.: JavaGroups - Group Communication Patterns in Java, Department of Computer Science. Cornell University (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)