Injeção de Falhas de Comunicação em Aplicações Java Multiprotocolo

  • Cristina Ciprandi Menegotto UFRGS
  • Taisy Silva Weber UFRGS

Resumo


Algumas aplicações de rede são baseadas em mais de um protocolo de comunicação, como UDP, TCP e RMI e devem ser testadas cuidadosamente em presença de falhas de comunicação. Caso a emulação de uma falha que afete a troca de mensagens não considere todos os protocolos simultaneamente utilizados, o comportamento emulado poderá diferir do observado na ocorrência de uma falha real. Este artigo apresenta Comform, um injetor de falhas de comunicação para aplicações Java multiprotocolo que opera no nível da JVM, interceptando mensagens de protocolos, e, em alguns casos, opera também no nível do sistema operacional, usando regras de firewall. A abordagem é útil para testes de caixa branca e preta e preserva o código fonte da aplicação alvo.

Referências

Ban, B. (2002). JGroups - a toolkit for reliable multicast communication. 2002. Disponível em: <http://www.jgroups.org>. Acesso em: jan. 2009.

Cézane, D. et al. (2009). Um injetor de falhas para a avaliação de aplicações distribuídas baseadas no commune. In Anais do Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos, SBRC, 27., volume 1, pages 901–914, Recife. SBC.

Chandra, R. et al. (2004). A global-state-triggered fault injector for distributed system evaluation. IEEE Transactions on Parallel and Distributed Systems, 15(7):593–605.

Chiba, S. (1998). Javassist. 1998. Disponível em: <http://www.csg.is.titech.ac.jp/~chiba/javassist/>. Acesso em: jan. 2009.

Drebes, R. J. (2005). Firmament: um módulo de injeção de falhas de comunicação para linux. 2005. 87 f. Dissertação ( Mestrado em Ciência da Computação ) — Instituto de Informática, UFRGS, Porto Alegre.

Drost, N., van Nieuwpoort, R. V., and Bal, H. (2006). Simple locality-aware co-allocation in peer-to-peer supercomputing. In Proc. of the 6th International Symposium on Cluster Computing and the Grid Workshops, CCGRIDW, volume 2, Singapore. IEEE.

Gerchman, J. and Weber, T. S. (2006). Emulando o comportamento de tcp/ip em um ambiente com falhas para teste de aplicações de rede. In Anais do Workshop de testes e tolerância a falhas, WTF, 7., volume 1, pages 41–54, Curitiba. SBC.

Hoarau, W., Tixeuil, S., and Vauchelles, F. (2007). FAIL-FCI: Versatile fault injection. Future Generation Computer Systems, 23(7):913–919.

Jacques-Silva, G. et al. (2006). A network-level distributed fault injector for experimental validation of dependable distributed systems. In Proc. of the 30th Int. Computer Software and Applications Conference, COMPSAC, pages 421–428, Chicago. IEEE.

Looker, N., Munro, M., and Xu, J. (2004). Ws-fit: a tool for dependability analysis of web services. In Proc. of the 28th Annual International Computer Software and Applications Conference, COMPSAC, volume 2, pages 120–123, Hong Kong. IEEE.

Murray, P. (2005). A distributed state monitoring service for adaptive application management. In Proc. of the International Conference on Dependable Systems and Networks, DSN, pages 200–205, Yokohama. IEEE.

Pezzé, M. and Young, M. (2008). Software Testing and Analysis: Process, Principles, and Techniques. John Wiley & Sons.

Stott, D. T. et al. (2000). Nftape: A framework for assessing dependability in distributed systems with lightweight fault injectors. In Proc. of the 4th International Computer Performance and Dependability Symposium, IPDS, pages 91–100, Chicago. IEEE.

SUN MICROSYSTEMS (2008). Java platform standard ed. 6. 2008. Disponível em: <http://java.sun.com/javase/6/docs/api/>. Acesso em: jan. 2009.

Vacaro, J. C. (2007). Avaliação de dependabilidade de aplicações distribuídas baseadas em rmi através de injeção de falhas. 2007. 89 f. Dissertação ( Mestrado em Ciência da Computação ) — Instituto de Informática, UFRGS, Porto Alegre.

VRIJE UNIVERSITEIT (2007). Ibis: Grids as promised. 2007. Disponível em: <http://www.cs.vu.nl/ibis/downloads.html>. Acesso em: out. 2009.
Publicado
28/05/2010
MENEGOTTO, Cristina Ciprandi; WEBER, Taisy Silva. Injeção de Falhas de Comunicação em Aplicações Java Multiprotocolo. In: WORKSHOP DE TESTES E TOLERÂNCIA A FALHAS (WTF), 11. , 2010, Gramado/RS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2010 . p. 75-88. ISSN 2595-2684. DOI: https://doi.org/10.5753/wtf.2010.23097.