FIRMI: Um Injetor de Falhas para a Avaliação de Aplicações Distribuídas baseadas em RMI

  • Juliano C. Vacaro UFRGS
  • Taisy S. Weber UFRGS

Abstract


In the test phase dependable distributed applications based on RMI have to demonstrate they work correctly even in the presence of faults in the communication subsystem. Exceptions thrown by RMI in response to communication faults must be caught and handled by the application. In order to generate such exceptions and thus testing the error-handling strategies of the application, faults are injected during the test phase and the behavior of the system under these faults is observed. This paper presents a fault injector to evaluate applications that use RMI as base for their communication subsystem. It also shows the techniques used and demonstrate through an experiment the features of the tool.

References

Andrade, N., Cirne, W., Brasileiro, F., and Roisenberg, P. (2003). OurGrid: An approach to easily assemble grids with equitable resource sharing. In 9th Workshop on Job Scheduling Strategies for Parallel Processing.

Apache Software Foundation. BCEL - byte code engineering library. http://jakarta.apache.org/bcel.

Avizienis, A., Laprie, J.-C., Randell, B., and Landwehr, C. (2004). Basic concepts and taxonomy of dependable and secure computing. IEEE Transactions on Dependable and Secure Computing, 1(1):11–33.

Birman, K. P. (1997). Building Secure and Reliable Network Applications. Prentice Hall, 1 edition.

Chiba, S. (1998). Javassist - a reflection-based programming wizard for java. In Proceedings of OOPSLA’98 Workshop on Reflective Programming in C++ and Java, Vancouver, Canada.

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

Dawson, S., Jahanian, F., Mitton, T., and Tung, T.-L. (1996). Testing of fault-tolerant and real-time distributed systems via protocol fault injection. In Proceedings of the 26th IEEE International Symposium on Fault-Tolerant Computing (FTCS ’96), pages 404–414, Sendai, Japan. IEEE Computer Society Press.

Drebes, R. J., Leite, F. O., Jacques-Silva, G., Mobus, F., and Weber, T. S. (2005). ComFIRM: a communication fault injector for protocol testing and validation. In IEEE Latin American Test Workshop, 6th (LATW’05), pages 115–120, Salvador, Brazil.

Eclipse Foundation. aspectj project. http://www.eclipse.org/aspectj.

Eclipse Foundation. eclipse project. http://www.eclipse.org/.

Gamma, E. and Beck, K. Junit. http://www.junit.org.

Hsueh, M.-C., Tsai, T. K., and Iyer, R. K. (1997). Fault injection techniques and tools. IEEE Computer, 30(4):75–82.

IBM Corporation. IBM java virtual machine. http://www.ibm.com/developerworks/java.

Jacques-Silva, G., Drebes, R. J., Gerchman, J., and Weber, T. S. (2004). FIONA: A fault injector for dependability evaluation of Java-based network applications. In Proceedings of the 3rd IEEE International Symposium on Network Computing and Applications (NCA’04), pages 303–308, Washington, DC, USA. IEEE Computer Society.

Madeira, H., Kanoun, K., Arlat, J., Crouzet, Y., Johansson, A., and Lindström, R. (2001). Preliminary dependability benchmark framework. Technical report, LAAS-CNRS, Toulouse, France.

Martins, E., Rubira, C. M. F., and Leme, N. G. M. (2002). Jaca: A reflective fault injection tool based on patterns. In Proceedings of the International Conference on Dependable Systems and Networks (DSN’02), pages 483–487, Washington, DC. IEEE Computer Society Press.

ObjectWeb Consortium. ASM. http://asm.objectweb.org.

Schneider, F. B. (1993). What good are models and what models are good? In Mullender, S., editor, Distributed Systems, pages 17–26. Addison-Wesley, Workingham, 2nd edition.

Sun Microsystems. Java remote method invocation (java RMI) specification. http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmiTOC.html.

White, A. Serp. http://serp.sourceforge.net.
Published
2006-05-29
VACARO, Juliano C.; WEBER, Taisy S.. FIRMI: Um Injetor de Falhas para a Avaliação de Aplicações Distribuídas baseadas em RMI. In: FAULT TOLERANCE WORKSHOP (WTF), 7. , 2006, Curitiba/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2006 . p. 135-146. ISSN 2595-2684. DOI: https://doi.org/10.5753/wtf.2006.23358.