Taxonomia de faltas para aplicações baseadas em microsserviços

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: Silva Filho, Francisco Gutenberg da
Orientador(a): Dantas, Valéria Lelli Leitão
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Área do conhecimento CNPq:
Link de acesso: http://repositorio.ufc.br/handle/riufc/78883
Resumo: 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.
id UFC-7_0b9f2c829ac5df1eb39f6fabb379c5ca
oai_identifier_str oai:repositorio.ufc.br:riufc/78883
network_acronym_str UFC-7
network_name_str Repositório Institucional da Universidade Federal do Ceará (UFC)
repository_id_str
spelling Silva Filho, Francisco Gutenberg daAndrade, Rossana Maria de CastroDantas, Valéria Lelli Leitão2024-11-13T20:02:31Z2024-11-13T20:02:31Z2023SILVA 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.http://repositorio.ufc.br/handle/riufc/78883Microservice-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.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.Taxonomia de faltas para aplicações baseadas em microsserviçosFault taxonomy for microservice-based applicationsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisTeste de softwareMicrosserviçoEngenharia de softwareInjeção de faltasSoftware testingMicroserviceSoftware engineerCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da Universidade Federal do Ceará (UFC)instname:Universidade Federal do Ceará (UFC)instacron:UFChttp://lattes.cnpq.br/3398355347992925http://lattes.cnpq.br/0530988215997574http://lattes.cnpq.br/95767131246618352024-11-13ORIGINAL2023_dis_fgsilvafilho.pdf2023_dis_fgsilvafilho.pdfapplication/pdf899381http://repositorio.ufc.br/bitstream/riufc/78883/3/2023_dis_fgsilvafilho.pdfd4e70685b7f819b3fe4b41d8da004e7eMD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748http://repositorio.ufc.br/bitstream/riufc/78883/4/license.txt8a4605be74aa9ea9d79846c1fba20a33MD54riufc/788832024-11-13 17:02:33.847oai:repositorio.ufc.br:riufc/78883Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttp://www.repositorio.ufc.br/ri-oai/requestbu@ufc.br || repositorio@ufc.bropendoar:2024-11-13T20:02:33Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)false
dc.title.pt_BR.fl_str_mv Taxonomia de faltas para aplicações baseadas em microsserviços
dc.title.en.pt_BR.fl_str_mv Fault taxonomy for microservice-based applications
title Taxonomia de faltas para aplicações baseadas em microsserviços
spellingShingle Taxonomia de faltas para aplicações baseadas em microsserviços
Silva Filho, Francisco Gutenberg da
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Teste de software
Microsserviço
Engenharia de software
Injeção de faltas
Software testing
Microservice
Software engineer
title_short Taxonomia de faltas para aplicações baseadas em microsserviços
title_full Taxonomia de faltas para aplicações baseadas em microsserviços
title_fullStr Taxonomia de faltas para aplicações baseadas em microsserviços
title_full_unstemmed Taxonomia de faltas para aplicações baseadas em microsserviços
title_sort Taxonomia de faltas para aplicações baseadas em microsserviços
author Silva Filho, Francisco Gutenberg da
author_facet Silva Filho, Francisco Gutenberg da
author_role author
dc.contributor.co-advisor.none.fl_str_mv Andrade, Rossana Maria de Castro
dc.contributor.author.fl_str_mv Silva Filho, Francisco Gutenberg da
dc.contributor.advisor1.fl_str_mv Dantas, Valéria Lelli Leitão
contributor_str_mv Dantas, Valéria Lelli Leitão
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Teste de software
Microsserviço
Engenharia de software
Injeção de faltas
Software testing
Microservice
Software engineer
dc.subject.ptbr.pt_BR.fl_str_mv Teste de software
Microsserviço
Engenharia de software
Injeção de faltas
dc.subject.en.pt_BR.fl_str_mv Software testing
Microservice
Software engineer
description 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.
publishDate 2023
dc.date.issued.fl_str_mv 2023
dc.date.accessioned.fl_str_mv 2024-11-13T20:02:31Z
dc.date.available.fl_str_mv 2024-11-13T20:02:31Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv http://repositorio.ufc.br/handle/riufc/78883
identifier_str_mv 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.
url http://repositorio.ufc.br/handle/riufc/78883
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.source.none.fl_str_mv reponame:Repositório Institucional da Universidade Federal do Ceará (UFC)
instname:Universidade Federal do Ceará (UFC)
instacron:UFC
instname_str Universidade Federal do Ceará (UFC)
instacron_str UFC
institution UFC
reponame_str Repositório Institucional da Universidade Federal do Ceará (UFC)
collection Repositório Institucional da Universidade Federal do Ceará (UFC)
bitstream.url.fl_str_mv http://repositorio.ufc.br/bitstream/riufc/78883/3/2023_dis_fgsilvafilho.pdf
http://repositorio.ufc.br/bitstream/riufc/78883/4/license.txt
bitstream.checksum.fl_str_mv d4e70685b7f819b3fe4b41d8da004e7e
8a4605be74aa9ea9d79846c1fba20a33
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)
repository.mail.fl_str_mv bu@ufc.br || repositorio@ufc.br
_version_ 1847793255338475520