Injeção de Falhas de Comunicação em Aplicações Java Multiprotocolo
Abstract
Some networked applications are based on more than one communication protocol, such as UDP, TCP and RMI, and must be carefully tested under communication faults. If the emulation of a fault that affects message exchanging does not take into account all simultaneously used protocols, the behavior emulated in an experiment can be different from that observed under real fault occurrence. This paper presents Comform, a communication fault injector for multi-protocol Java applications. It works at JVM level, intercepting protocol messages, and, in some cases, it also operates at the operating system level, using firewall rules. The approach is useful for both white box and black box testing and preserves the target application’s source code.
References
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.
