Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código

Detalhes bibliográficos
Autor(a) principal: Gentil, Rogerio Jeronimo
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFSCAR
Texto Completo: https://repositorio.ufscar.br/handle/ufscar/13462
Resumo: Context: Self-managing computer systems, also known as self-adaptive systems, are an alternative to get IT professionals free from details of operation and maintenance. Web applications can incorporate characteristics of a self-adaptive system, such as adaptation behavior at runtime, to respond to user needs, or to changes in context, in order to make them autonomous. However, one of the challenges of software engineering is to transform a legacy system into a self-adaptive system, in view of the costs and risks to replace a legacy system. Furthermore, as with any software evolution process, the introduction of adaptive behavior can lead to the insertion of faults in the legacy system. This way, the code coverage information produced by software tests assist in activities related to the evolutionary maintenance of the system. Objective: In this work, we analyzed, through the comparison of coverage metrics, how the introduction of adaptive behaviors in a real world legacy web application impacted code coverage. Method: In order to have a minimum percentage of coverage, for each scenario implemented, a set of test cases was created in the legacy version of the web application. Then, evolutionary versions were develop with the introduction of the adaptive behaviors to the application. The versions (legacy and adaptive) were organized into branches of the version control system so that adaptive implementations have evolved in two technological ways. The coverage metrics for each version of the web application were collected, after re-running the set of test cases created, and tabulated to allow data analysis. Results: The coverage of six versions of the web application with behavior characteristic of self-adaptive systems, in addition to the legacy version, were analyzed and compared between the respective implementation scenarios. Conclusion: The results indicate that the impact on the total code coverage is relevant, where even relatively small changes can considerably affect, either positively or negatively, the percentage of coverage of the changed unit.
id SCAR_6c530ca591affaeb9844ef094b24f0d1
oai_identifier_str oai:repositorio.ufscar.br:ufscar/13462
network_acronym_str SCAR
network_name_str Repositório Institucional da UFSCAR
repository_id_str 4322
spelling Gentil, Rogerio JeronimoFerrari, Fabiano Cutigihttp://lattes.cnpq.br/3154345471250570http://lattes.cnpq.br/7939047455945748da1e9fef-4de9-4f09-8e24-94f768ac56862020-11-18T08:58:37Z2020-11-18T08:58:37Z2020-09-16GENTIL, Rogerio Jeronimo. Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código. 2020. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2020. Disponível em: https://repositorio.ufscar.br/handle/ufscar/13462.https://repositorio.ufscar.br/handle/ufscar/13462Context: Self-managing computer systems, also known as self-adaptive systems, are an alternative to get IT professionals free from details of operation and maintenance. Web applications can incorporate characteristics of a self-adaptive system, such as adaptation behavior at runtime, to respond to user needs, or to changes in context, in order to make them autonomous. However, one of the challenges of software engineering is to transform a legacy system into a self-adaptive system, in view of the costs and risks to replace a legacy system. Furthermore, as with any software evolution process, the introduction of adaptive behavior can lead to the insertion of faults in the legacy system. This way, the code coverage information produced by software tests assist in activities related to the evolutionary maintenance of the system. Objective: In this work, we analyzed, through the comparison of coverage metrics, how the introduction of adaptive behaviors in a real world legacy web application impacted code coverage. Method: In order to have a minimum percentage of coverage, for each scenario implemented, a set of test cases was created in the legacy version of the web application. Then, evolutionary versions were develop with the introduction of the adaptive behaviors to the application. The versions (legacy and adaptive) were organized into branches of the version control system so that adaptive implementations have evolved in two technological ways. The coverage metrics for each version of the web application were collected, after re-running the set of test cases created, and tabulated to allow data analysis. Results: The coverage of six versions of the web application with behavior characteristic of self-adaptive systems, in addition to the legacy version, were analyzed and compared between the respective implementation scenarios. Conclusion: The results indicate that the impact on the total code coverage is relevant, where even relatively small changes can considerably affect, either positively or negatively, the percentage of coverage of the changed unit.Contexto: Sistemas computacionais que se autogerenciam, também conhecidos como sistemas adaptativos, são uma alternativa para liberar profissionais de TI de detalhes de operação e manutenção. Aplicações web podem incorporar características de um sistema adaptativo, tais como comportamentos de adaptação em tempo de execução, para responder às necessidades do usuário, ou a mudanças de contexto, de modo a torná-las autônomas. Entretanto, um dos desafios da engenharia de software é transformar um sistema legado em um sistema adaptativo, tendo em vista os custos e riscos para substituir um sistema legado. Ademais, como em qualquer processo de evolução de software, a introdução de comportamentos adaptativos pode conduzir à inserção de defeitos no sistema legado. Desta forma, as informações de cobertura de código produzida por testes de software auxiliam nas atividades relacionadas à manutenção evolutiva do mesmo. Objetivos: Neste trabalho foi analisado, por meio da comparação de métricas, como a introdução de comportamentos adaptativos em uma aplicação web legada do "mundo real" impactou a cobertura de código. Método: Visando dispor de um percentual mínimo de cobertura, para cada cenário implementado foi criado um conjunto de casos de teste na versão legada da aplicação web. Em seguida, foram implementadas versões evolutivas que introduziram comportamentos adaptativos à aplicação. As versões (legada e adaptativas) foram organizadas em ramos do sistema de controle de versão de modo que as implementações adaptativas evoluíram seguidamente em duas vertentes tecnológicas. As métricas de cobertura de cada versão da aplicação web foram coletadas após a reexecução do conjunto de casos de teste criado e tabuladas para permitir a análise dos dados. Resultados: As coberturas de seis versões da aplicação web com comportamentos característicos de sistemas adaptativos, além da versão legada, foram analisadas e comparadas entre os respectivos cenários de implementação. Conclusão: Os resultados obtidos indicam que o impacto sobre a cobertura total é relevante, onde mesmo as modificações relativamente pequenas podem afetar consideravelmente, de forma negativa ou positiva, os percentuais de cobertura da unidade alterada.Não recebi financiamentoporUniversidade Federal de São CarlosCâmpus São CarlosPrograma de Pós-Graduação em Ciência da Computação - PPGCCUFSCarAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessAplicações webTeste de softwareCobertura de códigoSistemas auto-adaptativosEstudo de casoWeb applicationsSoftware testingCode coverageSelf-adaptive systemsCase studyCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOUm estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de códigoA case study on how introducing adaptive behaviors in a legacy web application impact code coverageinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis6006006b0a8934-16f6-40c0-95e1-34d73ec115c8reponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARORIGINALDissertacao-Gentil-RJ.pdfDissertacao-Gentil-RJ.pdfDissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Federal de São Carlos, como parte dos requisitos para a obtenção do título de Mestre em Ciência da Computação, área de concentração: Engenharia de Softwareapplication/pdf818717https://repositorio.ufscar.br/bitstream/ufscar/13462/1/Dissertacao-Gentil-RJ.pdfd8884ee7ee8eeabe1ad2560091738728MD51Carta-Comprovante-Orientador-Assinada.pdfCarta-Comprovante-Orientador-Assinada.pdfCarta comprovante da versão final de dissertação assinada pelo orientador.application/pdf121149https://repositorio.ufscar.br/bitstream/ufscar/13462/3/Carta-Comprovante-Orientador-Assinada.pdfec141e4d79f8f2a54341d393681c06f7MD53CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufscar.br/bitstream/ufscar/13462/4/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD54TEXTDissertacao-Gentil-RJ.pdf.txtDissertacao-Gentil-RJ.pdf.txtExtracted texttext/plain306401https://repositorio.ufscar.br/bitstream/ufscar/13462/5/Dissertacao-Gentil-RJ.pdf.txtc8ee9744a736e672cca0213ae3ef1d2bMD55Carta-Comprovante-Orientador-Assinada.pdf.txtCarta-Comprovante-Orientador-Assinada.pdf.txtExtracted texttext/plain1549https://repositorio.ufscar.br/bitstream/ufscar/13462/7/Carta-Comprovante-Orientador-Assinada.pdf.txtbc8ef305e6df037e83c600aca2efa870MD57THUMBNAILDissertacao-Gentil-RJ.pdf.jpgDissertacao-Gentil-RJ.pdf.jpgIM Thumbnailimage/jpeg8907https://repositorio.ufscar.br/bitstream/ufscar/13462/6/Dissertacao-Gentil-RJ.pdf.jpgd723d9cb4c5d91425a3ff297ada7eb30MD56Carta-Comprovante-Orientador-Assinada.pdf.jpgCarta-Comprovante-Orientador-Assinada.pdf.jpgIM Thumbnailimage/jpeg12749https://repositorio.ufscar.br/bitstream/ufscar/13462/8/Carta-Comprovante-Orientador-Assinada.pdf.jpgf8c13debed279d020a5e06dc61fed476MD58ufscar/134622023-09-18 18:32:03.919oai:repositorio.ufscar.br:ufscar/13462Repositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestopendoar:43222023-09-18T18:32:03Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false
dc.title.por.fl_str_mv Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código
dc.title.alternative.eng.fl_str_mv A case study on how introducing adaptive behaviors in a legacy web application impact code coverage
title Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código
spellingShingle Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código
Gentil, Rogerio Jeronimo
Aplicações web
Teste de software
Cobertura de código
Sistemas auto-adaptativos
Estudo de caso
Web applications
Software testing
Code coverage
Self-adaptive systems
Case study
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código
title_full Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código
title_fullStr Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código
title_full_unstemmed Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código
title_sort Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código
author Gentil, Rogerio Jeronimo
author_facet Gentil, Rogerio Jeronimo
author_role author
dc.contributor.authorlattes.por.fl_str_mv http://lattes.cnpq.br/7939047455945748
dc.contributor.author.fl_str_mv Gentil, Rogerio Jeronimo
dc.contributor.advisor1.fl_str_mv Ferrari, Fabiano Cutigi
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/3154345471250570
dc.contributor.authorID.fl_str_mv da1e9fef-4de9-4f09-8e24-94f768ac5686
contributor_str_mv Ferrari, Fabiano Cutigi
dc.subject.por.fl_str_mv Aplicações web
Teste de software
Cobertura de código
Sistemas auto-adaptativos
Estudo de caso
topic Aplicações web
Teste de software
Cobertura de código
Sistemas auto-adaptativos
Estudo de caso
Web applications
Software testing
Code coverage
Self-adaptive systems
Case study
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.eng.fl_str_mv Web applications
Software testing
Code coverage
Self-adaptive systems
Case study
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Context: Self-managing computer systems, also known as self-adaptive systems, are an alternative to get IT professionals free from details of operation and maintenance. Web applications can incorporate characteristics of a self-adaptive system, such as adaptation behavior at runtime, to respond to user needs, or to changes in context, in order to make them autonomous. However, one of the challenges of software engineering is to transform a legacy system into a self-adaptive system, in view of the costs and risks to replace a legacy system. Furthermore, as with any software evolution process, the introduction of adaptive behavior can lead to the insertion of faults in the legacy system. This way, the code coverage information produced by software tests assist in activities related to the evolutionary maintenance of the system. Objective: In this work, we analyzed, through the comparison of coverage metrics, how the introduction of adaptive behaviors in a real world legacy web application impacted code coverage. Method: In order to have a minimum percentage of coverage, for each scenario implemented, a set of test cases was created in the legacy version of the web application. Then, evolutionary versions were develop with the introduction of the adaptive behaviors to the application. The versions (legacy and adaptive) were organized into branches of the version control system so that adaptive implementations have evolved in two technological ways. The coverage metrics for each version of the web application were collected, after re-running the set of test cases created, and tabulated to allow data analysis. Results: The coverage of six versions of the web application with behavior characteristic of self-adaptive systems, in addition to the legacy version, were analyzed and compared between the respective implementation scenarios. Conclusion: The results indicate that the impact on the total code coverage is relevant, where even relatively small changes can considerably affect, either positively or negatively, the percentage of coverage of the changed unit.
publishDate 2020
dc.date.accessioned.fl_str_mv 2020-11-18T08:58:37Z
dc.date.available.fl_str_mv 2020-11-18T08:58:37Z
dc.date.issued.fl_str_mv 2020-09-16
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 GENTIL, Rogerio Jeronimo. Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código. 2020. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2020. Disponível em: https://repositorio.ufscar.br/handle/ufscar/13462.
dc.identifier.uri.fl_str_mv https://repositorio.ufscar.br/handle/ufscar/13462
identifier_str_mv GENTIL, Rogerio Jeronimo. Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código. 2020. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2020. Disponível em: https://repositorio.ufscar.br/handle/ufscar/13462.
url https://repositorio.ufscar.br/handle/ufscar/13462
dc.language.iso.fl_str_mv por
language por
dc.relation.confidence.fl_str_mv 600
600
dc.relation.authority.fl_str_mv 6b0a8934-16f6-40c0-95e1-34d73ec115c8
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de São Carlos
Câmpus São Carlos
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação - PPGCC
dc.publisher.initials.fl_str_mv UFSCar
publisher.none.fl_str_mv Universidade Federal de São Carlos
Câmpus São Carlos
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSCAR
instname:Universidade Federal de São Carlos (UFSCAR)
instacron:UFSCAR
instname_str Universidade Federal de São Carlos (UFSCAR)
instacron_str UFSCAR
institution UFSCAR
reponame_str Repositório Institucional da UFSCAR
collection Repositório Institucional da UFSCAR
bitstream.url.fl_str_mv https://repositorio.ufscar.br/bitstream/ufscar/13462/1/Dissertacao-Gentil-RJ.pdf
https://repositorio.ufscar.br/bitstream/ufscar/13462/3/Carta-Comprovante-Orientador-Assinada.pdf
https://repositorio.ufscar.br/bitstream/ufscar/13462/4/license_rdf
https://repositorio.ufscar.br/bitstream/ufscar/13462/5/Dissertacao-Gentil-RJ.pdf.txt
https://repositorio.ufscar.br/bitstream/ufscar/13462/7/Carta-Comprovante-Orientador-Assinada.pdf.txt
https://repositorio.ufscar.br/bitstream/ufscar/13462/6/Dissertacao-Gentil-RJ.pdf.jpg
https://repositorio.ufscar.br/bitstream/ufscar/13462/8/Carta-Comprovante-Orientador-Assinada.pdf.jpg
bitstream.checksum.fl_str_mv d8884ee7ee8eeabe1ad2560091738728
ec141e4d79f8f2a54341d393681c06f7
e39d27027a6cc9cb039ad269a5db8e34
c8ee9744a736e672cca0213ae3ef1d2b
bc8ef305e6df037e83c600aca2efa870
d723d9cb4c5d91425a3ff297ada7eb30
f8c13debed279d020a5e06dc61fed476
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)
repository.mail.fl_str_mv
_version_ 1813715623415382016