XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>XI</strong> <strong>Workshop</strong> <strong>de</strong> <strong>Testes</strong> e Tolerância a <strong>Falhas</strong> 61<br />
Injeção <strong>de</strong> falhas para validar aplicações<br />
em ambientes móveis<br />
Eduardo Verruck Acker 1 , Taisy Silva Weber 1, Sérgio Luis Cechin 1<br />
1 Instituto <strong>de</strong> Informática – Universida<strong>de</strong> Fe<strong>de</strong>ral do Rio Gran<strong>de</strong> do Sul (UFRGS)<br />
Caixa Postal 15.064 – 91.501-970 – Porto Alegre – RS – Brazil<br />
{evacker,taisy,cechin}@inf.ufrgs.br<br />
Abstract. It is assumed that the Android platform for smartphones will allow<br />
porting a large number of applications for these and other mobile <strong>de</strong>vices.<br />
These applications, however, should be carefully tested including the test<br />
un<strong>de</strong>r faults. This paper discusses the strengths and difficulties of working<br />
with this new mobile platform, presents the experience of porting a<br />
communication fault injector to Android and introduces a project that aims to<br />
provi<strong>de</strong> fault injection tools for testing applications in mobile environments<br />
consi<strong>de</strong>ring the specificities of faults that can occur in these environments.<br />
Resumo. Presume-se que o Android, a plataforma móvel para smartphones<br />
originalmente <strong>de</strong>senvolvido pela Google vá permitir portar um gran<strong>de</strong> número<br />
<strong>de</strong> aplicações para esses e outros dispositivos móveis. Essas aplicações<br />
<strong>de</strong>verão ser cuidadosamente testadas, inclusive na ocorrência <strong>de</strong> falhas. Esse<br />
artigo discute as facilida<strong>de</strong>s e dificulda<strong>de</strong>s <strong>de</strong> trabalhar com esse novo<br />
ambiente, apresenta o porte <strong>de</strong> um injetor <strong>de</strong> falhas <strong>de</strong> comunicação para o<br />
Android e introduz a linha <strong>de</strong> pesquisa <strong>de</strong> um novo projeto, visando prover<br />
ferramentas <strong>de</strong> injeção <strong>de</strong> falhas para teste <strong>de</strong> aplicações em ambientes<br />
móveis, consi<strong>de</strong>rando as peculiarida<strong>de</strong>s das falhas <strong>de</strong> comunicação que<br />
ocorrem nestes ambientes.<br />
1 Introdução<br />
Para testar técnicas empregadas na <strong>de</strong>tecção e correção <strong>de</strong> falhas em um sistema que<br />
<strong>de</strong>va aten<strong>de</strong>r a algum critério <strong>de</strong> <strong>de</strong>pendabilida<strong>de</strong>, é necessária a ocorrência efetiva <strong>de</strong><br />
falhas. Contudo, essa ocorrência é aleatória e incontrolável. Além disso, a ocorrência<br />
real <strong>de</strong> falhas apresenta taxas relativamente baixas e, portanto, ina<strong>de</strong>quadas para o<br />
tempo restrito <strong>de</strong> aplicação dos testes. Como é inviável ficar esperando que uma falha<br />
específica ocorra naturalmente, <strong>de</strong>vem ser usadas técnicas que emulem falhas <strong>de</strong> forma<br />
controlável e com taxas a<strong>de</strong>quadas. Uma solução é injeção <strong>de</strong> falhas. Essa abordagem<br />
<strong>de</strong> validação está bem consolidada na literatura [Arlat 1990]. Existem diversos injetores<br />
<strong>de</strong> falhas reportados [Hsueh 1997], mas muitos apresentam restrições quanto à<br />
disponibilida<strong>de</strong> e ao sistema alvo ao qual o injetor po<strong>de</strong> ser aplicado.<br />
Sistemas computacionais móveis estão se popularizando rapidamente. O<br />
ambiente móvel traz novos e interessantes <strong>de</strong>safios. As técnicas <strong>de</strong> tolerância a falhas<br />
baseadas em replicação <strong>de</strong> componentes não po<strong>de</strong>m, muitas vezes, ser diretamente<br />
empregadas <strong>de</strong>vido à limitação <strong>de</strong> recursos do ambiente, como restrições <strong>de</strong> energia,<br />
volume e peso. Ambientes móveis são mais sujeitos a interferências ambientais, o que<br />
torna os dispositivos móveis mais susceptíveis a erros. Tais erros <strong>de</strong>vem ser <strong>de</strong>tectados<br />
e corrigidos com o mínimo <strong>de</strong> percepção do usuário [Krishna 1993] e usando o mínimo