Um estudo de caso sobre como a introdução de comportamentos adaptativos em uma aplicação web legada impacta a cobertura de código
Autor(a) principal: | |
---|---|
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 |