Please use this identifier to cite or link to this item: http://repositorio.ufc.br/handle/riufc/78883
Type: Dissertação
Title: Taxonomia de faltas para aplicações baseadas em microsserviços
Title in English: Fault taxonomy for microservice-based applications
Authors: Silva Filho, Francisco Gutenberg da
Advisor: Dantas, Valéria Lelli Leitão
Co-advisor: Andrade, Rossana Maria de Castro
Keywords in Brazilian Portuguese : Teste de software;Microsserviço;Engenharia de software;Injeção de faltas
Keywords in English : Software testing;Microservice;Software engineer
Knowledge Areas - CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Issue Date: 2023
Citation: 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.
Abstract in Brazilian Portuguese: 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
Author's Lattes: http://lattes.cnpq.br/3398355347992925
Advisor's Lattes: http://lattes.cnpq.br/0530988215997574
Co-advisor's Lattes: http://lattes.cnpq.br/9576713124661835
Access Rights: Acesso Aberto
Appears in Collections:DCOMP - Dissertações defendidas na UFC

Files in This Item:
File Description SizeFormat 
2023_dis_fgsilvafilho.pdf878,3 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.