Dissertação
FaultSee: Reproducible fault injection in distributed systems EVALUATED
Os sistemas informáticos distribuídos são cada vez mais importantes na sociedade moderna operando, muitas vezes, a uma escala global e com requisitos de disponibilidade muito perto dos 100%. Para alcançar um nível tão elevado de disponibilidade é necessário ter processos de desenvolvimento focados na qualidade, com testes rigorosos e exaustivos. Os sistemas distribuídos, por serem formados por vários componentes, são bastante difíceis de avaliar e testar de uma forma sistemática e reproduzível. Esta dificuldade pode constatar-se ao analisar artigos científicos ou outros estudos sobre um sistema distribuído em operação, em que é frequente ver afirmações sobre a injeção de faltas em nós do sistema, que não são explicadas nem contextualizadas de forma a permitir a reprodução num ambiente de teste alternativo. Dado que o comportamento do sistema pode variar substancialmente consoante o tipo de "falta" injetada, torna-se praticamente impossível a um investigador reproduzir o comportamento observado nesse teste. Se não existir reproducibilidade, então não se consegue fazer a adequada comparação de alternativas, e o progresso técnico torna-se mais lento e dispendioso. Neste trabalho propomos a criação da plataforma FaultSee que permite avaliar sistemas reais de uma forma mais sistemática e reproduzível do que o estado da arte. Propomos também uma linguagem, a FDSL, usada pelo FaultSee, de especificação de sistemas distribuídos e injeção de faltas que capturam precisamente variáveis como o ambiente de teste, a carga de trabalho e tipo de faltas. Estas funcionalidades são demonstradas em cenários realistas usando o Apache Cassandra e o BFT-Smart como casos de estudo.
dezembro 5, 2019, 9:0
Publicação
Obra sujeita a Direitos de Autor
Orientação
ORIENTADOR
Departamento de Engenharia Informática (DEI)
Professor Auxiliar
ORIENTADOR
Miguel Ângelo Marques de Matos
Departamento de Engenharia Informática (DEI)
Professor Auxiliar