Use este identificador para citar ou linkar para este item: http://repositorio.ufc.br/handle/riufc/78883
Tipo: Dissertação
Título: Taxonomia de faltas para aplicações baseadas em microsserviços
Título em inglês: Fault taxonomy for microservice-based applications
Autor(es): Silva Filho, Francisco Gutenberg da
Orientador: Dantas, Valéria Lelli Leitão
Coorientador: Andrade, Rossana Maria de Castro
Palavras-chave em português: Teste de software;Microsserviço;Engenharia de software;Injeção de faltas
Palavras-chave em inglês: Software testing;Microservice;Software engineer
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Data do documento: 2023
Citação: SILVA FILHO, Francisco Gutenberg da. Taxonomia de faltas para aplicações baseadas em microsserviços. 2023. 104 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2023.
Resumo: As aplicações baseadas em microsserviços suportam um estilo arquitetural que permite a organização de aplicações distribuídas como um conjunto de serviços independentes para alcançar escalabilidade e capacidade de manutenção. Essas aplicações têm sido amplamente utilizadas na indústria, no entanto, sua arquitetura pode trazer desafios relacionados à tolerância a falhas, prevenção de falhas, detecção de falhas e atividades de tratamento de falhas. No contexto de microsserviços, a injeção de faltas é mais complexa, pois esses aplicativos contêm principalmente processos assíncronos e, nesse caso, a injeção de faltas se torna ainda mais dispendiosa. Nessa direção, o uso de uma taxonomia de faltas é benéfico para o planejamento e execução de atividades de teste relacionadas, por exemplo, as técnicas de teste baseadas em faltas. Vários estudos na literatura têm tratado da complexidade dos testes de aplicações baseadas em microsserviços, tais como, a investigação das causas de falhas de microsserviços ou o desenvolvimento de frameworks que permitam aos usuários injetar faltas relacionadas com microsserviços. Dessa forma, o objetivo deste trabalho é definir uma taxonomia de faltas para aplicações baseadas em microsserviços a fim de melhor apoiar o desenvolvimento e testes dessas aplicações. Neste trabalho, foi primeiramente conduzido um mapeamento sistemático para identificar faltas relacionadas com microsserviços. Os resultados e contribuições deste trabalho englobam diversos aspectos. Primeiramente, apresenta-se um catálogo abrangente contendo 136 faltas, das quais 33 são distribuídas em 11 categorias. Em seguida, com base no catalogo foi definida uma taxonomia preliminar utilizando um esquema de classificação de Requisitos Não Funcionais e Características de Microsserviços que que classifica 117 dessas faltas. A evolução desta taxonomia culmina em uma versão final, que inclui 106 faltas, também categorizadas por seis RNFs e correlacionadas com 11 características da arquitetura de microsserviços. O esquema de classificação da taxonomia baseado em 6 RNFs (e.g., Desempenho, Segurança, Confiabilidade) e a correlação das faltas com 11 características (e.g., Tempo de Execução, Armazenamento de dados) inerentes à arquitetura de microsserviços. Por fim, o trabalho oferece um relato abrangente do processo de criação e avaliação da taxonomia, fornecendo uma compreensão sobre sua aplicabilidade.
Abstract: Microservice-based applications support an architectural style that allows the organization of distributed applications as a set of independent services to achieve scalability and maintainability. They have been widely used in the industry, however, this architecture can bring challenges regarding fault Tolerance, Fault Prevention, Fault Detection and Fault Handling activities. In the context of microservices, fault injection is more complex since those applications contains mostly assynchronous process. Therefore, a fault injection becomes even more expensive. Therefore, the above activities that require tasks such as fault injection and debugging become even more expensive. This way, the use of a fault taxonomy can be beneficial for performing software fault activities. Several studies in the literature have been handling the complexity of testing microservice-based applications such as investigating the root causes of microservices failures or providing frameworks that allow users injecting faults related to microservices. In this work, we conducted a systematic mapping study to catalog faults related to microservice-based applications to better support their development and testing and then create a fault taxonomy. The results and contributions of this study encompass various facets. Initially, a comprehensive catalog is presented, comprising 136 faults, of which 103 are distributed across 11 categories. Subsequently, a preliminary taxonomy is proposed, classifying 117 of these faults in accordance with Non-Functional Requirements (NFRs) and correlating them with specific characteristics of microservices architecture. The evolution of this taxonomy culminates in a final version that includes 106 faults, also categorized by NFRs and correlated with characteristics of microservices architecture. Additionally, the taxonomy’s classification scheme is presented, predicated on 6 NFRs (e.g., Performance, Security, Reliability), alongside the correlation of faults with 14 characteristics (e.g., Runtime, Data Storage) inherent to microservices architecture. Lastly, the work furnishes a comprehensive account of the taxonomy creation and evaluation process, affording insights into its applicability.
URI: http://repositorio.ufc.br/handle/riufc/78883
Currículo Lattes do(s) Autor(es): http://lattes.cnpq.br/3398355347992925
Currículo Lattes do Orientador: http://lattes.cnpq.br/0530988215997574
Currículo Lattes do Coorientador: http://lattes.cnpq.br/9576713124661835
Tipo de Acesso: Acesso Aberto
Aparece nas coleções:DCOMP - Dissertações defendidas na UFC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
2023_dis_fgsilvafilho.pdf878,3 kBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.