Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: Bastos, Camila lattes
Orientador(a): Costa, Heitor Augustos Xavier
Banca de defesa: Werner, Cláudia Maria Lima, Santos, Rodrigo Pereira dos, Parreira Junior, Paulo Afonso, Durelli, Rafael Serapilha
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Lavras
Programa de Pós-Graduação: Programa de Pós-Graduação em Ciência da Computação
Departamento: Departamento de Ciência da Computação
País: brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufla.br/handle/1/12831
Resumo: A evolução é fundamental para que os sistemas de software atendam as necessidades de seus usuários. Acompreensão dessa evolução pode ser utilizada para encontrar a origem de problemas atuais ou para obter informações que possibilitam prever características futuras do software. No entanto, o aumento das informações, das funções, da poluição e da quantidade de código morto ao longo da evolução deixa o software mais complexo, dificultando essa compreensão. Desse modo, técnicas de visualização de software tem sido utilizadas para representar a evolução de determinados atributos do software, facilitando a compreensão de suas características evolutivas. Apesar dessas técnicas, ainda existem lacunas ao explorá-las para compreender fatores que contribuem com o aumento da complexidade ao longo da evolução, por exemplo, a presença de código morto. Com base nesses fatores, neste trabalho foi proposta DCEVizz, uma abordagem para identificar e visualizar código morto na evolução de sistemas de software orientados a objetos. A finalidade dessa abordagem é prover melhor percepção da existência de código morto nas versões do software, assim como suas características evolutivas. De modo geral, a análise e compreensão da evolução do código morto pode fornecer informações úteis para predizer o aumento desse código nas versões futuras, aumentar a segurança na sua eliminação e facilitar sua identificação nas versões. A abordagem foi implementada em um plug-in para a plataforma IDE Eclipse (DCEVizz Tool) e avaliada em duas fases. Na primeira fase, foi realizada uma comparação qualitativa do código morto identificado por DCEVizz Tool com o identificado pela ferramenta Understand. Essa comparação mostrou que a técnica de detecção utilizada em DCEVizz Tool identificou maior quantidade de código morto do que Understand em todos os sistemas analisados. Na segunda fase da avaliação, foi realizado um estudo experimental com um grupo de voluntários, que realizaram um conjunto de atividades sem e com o uso de DCEVizz Tool. Os resultados desse estudo indicaram que o uso de DCEVizz Tool aumenta a precisão e a eficiência na execução das atividades e que, na opinião dos participantes, a abordagem facilita a compreensão da evolução do código morto.
id UFLA_0957709b34ca5f6ee926dca2e843ac64
oai_identifier_str oai:repositorio.ufla.br:1/12831
network_acronym_str UFLA
network_name_str Repositório Institucional da UFLA
repository_id_str
spelling 2017-05-05T19:41:56425Z2017-05-05T19:41:56425Z2017-05-052017-02-17BASTOS, C. Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos. 2017. 153 p. Dissertação (Mestrado em Ciência da Computação)-Universidade Federal de Lavras, Lavras, 2017.https://repositorio.ufla.br/handle/1/12831A evolução é fundamental para que os sistemas de software atendam as necessidades de seus usuários. Acompreensão dessa evolução pode ser utilizada para encontrar a origem de problemas atuais ou para obter informações que possibilitam prever características futuras do software. No entanto, o aumento das informações, das funções, da poluição e da quantidade de código morto ao longo da evolução deixa o software mais complexo, dificultando essa compreensão. Desse modo, técnicas de visualização de software tem sido utilizadas para representar a evolução de determinados atributos do software, facilitando a compreensão de suas características evolutivas. Apesar dessas técnicas, ainda existem lacunas ao explorá-las para compreender fatores que contribuem com o aumento da complexidade ao longo da evolução, por exemplo, a presença de código morto. Com base nesses fatores, neste trabalho foi proposta DCEVizz, uma abordagem para identificar e visualizar código morto na evolução de sistemas de software orientados a objetos. A finalidade dessa abordagem é prover melhor percepção da existência de código morto nas versões do software, assim como suas características evolutivas. De modo geral, a análise e compreensão da evolução do código morto pode fornecer informações úteis para predizer o aumento desse código nas versões futuras, aumentar a segurança na sua eliminação e facilitar sua identificação nas versões. A abordagem foi implementada em um plug-in para a plataforma IDE Eclipse (DCEVizz Tool) e avaliada em duas fases. Na primeira fase, foi realizada uma comparação qualitativa do código morto identificado por DCEVizz Tool com o identificado pela ferramenta Understand. Essa comparação mostrou que a técnica de detecção utilizada em DCEVizz Tool identificou maior quantidade de código morto do que Understand em todos os sistemas analisados. Na segunda fase da avaliação, foi realizado um estudo experimental com um grupo de voluntários, que realizaram um conjunto de atividades sem e com o uso de DCEVizz Tool. Os resultados desse estudo indicaram que o uso de DCEVizz Tool aumenta a precisão e a eficiência na execução das atividades e que, na opinião dos participantes, a abordagem facilita a compreensão da evolução do código morto.The evolution is fundamental for the software to always meet the needs of their users. The comprehension of this evolution can be used to find the source of current problems or to obtain information that makes possible to predict future characteristics of the software. However, the increasing of information, functionality, pollution and the amount of dead code throughout evolution leaves the software more complex, making it difficult to comprehension. Thus, software visualization techniques have been used to represent the evolution of certain attributes of the software, facilitating the understanding of its evolutionary characteristics. Nevertheless, there are gaps in exploring these techniques to understand factors that contribute to increase the complexity throughout evolution, for example, the presence of dead code. Based on these factors, in this work the DCEVizz approach was proposed to identify and visualize dead code in the evolution of object oriented software. The purpose of this approach is to better understand the existence of dead code in software versions and their evolutionary characteristics. The analysis and understanding of dead code evolution can provide information to predict increases in this code, to enhance security in their elimination and to facilitate their identification in versions. The approach was implemented in a plug-in for Eclipse (DCEVizz Tool) and evaluated in two phases. In the first phase, a qualitative comparison of the dead code identified by DCEVizz Tool with the dead code identified by Understand tool was performed. This comparison showed that the detection technique used in DCEVizz Tool identified a greater amount of dead code than Understand in all the analyzed software. In the second phase of the evaluation, an experimental study was performed with a group of volunteers, who performed a set of activities using and not using the approach. The results of this study indicate that the use of DCEVizz increased precision and efficiency in the execution of the activities and facilitated the understanding of the evolution of the code.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)Universidade Federal de LavrasPrograma de Pós-Graduação em Ciência da ComputaçãoUFLAbrasilDepartamento de Ciência da ComputaçãoMetodologia e Técnicas da ComputaçãoSoftware – QualidadeSoftware – Código mortoVisualização de softwareEvolução de softwareSoftware – QualitySoftware – Dead codeSoftware visualizationSoftware evolutionUma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetosDead code evolution visualization aproach in object oriented softwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisCosta, Heitor Augustos XavierWerner, Cláudia Maria LimaSantos, Rodrigo Pereira dosParreira Junior, Paulo AfonsoDurelli, Rafael Serapilhahttp://lattes.cnpq.br/5861661010156958Bastos, Camilainfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFLAinstname:Universidade Federal de Lavras (UFLA)instacron:UFLAORIGINALDISSERTAÇÃO_Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos.pdfDISSERTAÇÃO_Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos.pdfapplication/pdf4547049https://repositorio.ufla.br/bitstreams/11611ec8-71c2-49d6-9ff8-a77ea88ca571/download246cd669d3c4d1cd4d3dd5a74240f5c3MD52trueAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-8953https://repositorio.ufla.br/bitstreams/abdbe5f1-eea4-4d85-b690-b6f664eeea09/download760884c1e72224de569e74f79eb87ce3MD51falseAnonymousREADTEXTDISSERTAÇÃO_Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos.pdf.txtDISSERTAÇÃO_Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos.pdf.txtExtracted texttext/plain103307https://repositorio.ufla.br/bitstreams/8b13300f-a0f9-4350-94da-cef1910909a0/downloadd84beaf7588ffa5f462d03410a66282cMD53falseAnonymousREADTHUMBNAILDISSERTAÇÃO_Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos.pdf.jpgDISSERTAÇÃO_Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos.pdf.jpgGenerated Thumbnailimage/jpeg3237https://repositorio.ufla.br/bitstreams/4d49ea6f-b918-4987-9aa1-6ec50399a16a/download4baa0a12165147d19d17514affe92357MD54falseAnonymousREAD1/128312025-08-06 11:09:50.54open.accessoai:repositorio.ufla.br:1/12831https://repositorio.ufla.brRepositório InstitucionalPUBhttps://repositorio.ufla.br/server/oai/requestnivaldo@ufla.br || repositorio.biblioteca@ufla.bropendoar:2025-08-06T14:09:50Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA)falseREVDTEFSQcOHw4NPIERFIERJU1RSSUJVScOHw4NPIE7Dg08tRVhDTFVTSVZBCk8gcmVmZXJpZG8gYXV0b3I6CmEpIERlY2xhcmEgcXVlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIMOpIHNldSB0cmFiYWxobyBvcmlnaW5hbCwgZSBxdWUKZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4KRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2UsIHRhbnRvIHF1YW50bwpsaGUgw6kgcG9zc8OtdmVsIHNhYmVyLCBvcyBkaXJlaXRvcyBkZSBxdWFscXVlciBvdXRyYSBwZXNzb2Egb3UKZW50aWRhZGUuCmIpIFNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCBuw6NvIGRldMOpbSBvcwpkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGF1dG9yaXphw6fDo28gZG8gZGV0ZW50b3IgZG9zCmRpcmVpdG9zIGRlIGF1dG9yIHBhcmEgY29uY2VkZXIgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgTGF2cmFzIG9zCmRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgY3Vqb3MKZGlyZWl0b3Mgc8OjbyBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSBpZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbwpubyB0ZXh0byBvdSBjb250ZcO6ZG8gZG8gZG9jdW1lbnRvIGVudHJlZ3VlLiBTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqQpiYXNlYWRvIGVtIHRyYWJhbGhvIGZpbmFuY2lhZG8gb3UgYXBvaWFkbyBwb3Igb3V0cmEgaW5zdGl0dWnDp8OjbyBxdWUKbsOjbyBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIExhdnJhcywgZGVjbGFyYSBxdWUgY3VtcHJpdSBxdWFpc3F1ZXIKb2JyaWdhw6fDtWVzIGV4aWdpZGFzIHBlbG8gcmVzcGVjdGl2byBjb250cmF0byBvdSBhY29yZG8uCgo=
dc.title.pt_BR.fl_str_mv Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos
dc.title.alternative.pt_BR.fl_str_mv Dead code evolution visualization aproach in object oriented software
title Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos
spellingShingle Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos
Bastos, Camila
Metodologia e Técnicas da Computação
Software – Qualidade
Software – Código morto
Visualização de software
Evolução de software
Software – Quality
Software – Dead code
Software visualization
Software evolution
title_short Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos
title_full Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos
title_fullStr Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos
title_full_unstemmed Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos
title_sort Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos
author Bastos, Camila
author_facet Bastos, Camila
author_role author
dc.contributor.advisor1.fl_str_mv Costa, Heitor Augustos Xavier
dc.contributor.referee1.fl_str_mv Werner, Cláudia Maria Lima
dc.contributor.referee2.fl_str_mv Santos, Rodrigo Pereira dos
dc.contributor.referee3.fl_str_mv Parreira Junior, Paulo Afonso
dc.contributor.referee4.fl_str_mv Durelli, Rafael Serapilha
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/5861661010156958
dc.contributor.author.fl_str_mv Bastos, Camila
contributor_str_mv Costa, Heitor Augustos Xavier
Werner, Cláudia Maria Lima
Santos, Rodrigo Pereira dos
Parreira Junior, Paulo Afonso
Durelli, Rafael Serapilha
dc.subject.cnpq.fl_str_mv Metodologia e Técnicas da Computação
topic Metodologia e Técnicas da Computação
Software – Qualidade
Software – Código morto
Visualização de software
Evolução de software
Software – Quality
Software – Dead code
Software visualization
Software evolution
dc.subject.por.fl_str_mv Software – Qualidade
Software – Código morto
Visualização de software
Evolução de software
Software – Quality
Software – Dead code
Software visualization
Software evolution
description A evolução é fundamental para que os sistemas de software atendam as necessidades de seus usuários. Acompreensão dessa evolução pode ser utilizada para encontrar a origem de problemas atuais ou para obter informações que possibilitam prever características futuras do software. No entanto, o aumento das informações, das funções, da poluição e da quantidade de código morto ao longo da evolução deixa o software mais complexo, dificultando essa compreensão. Desse modo, técnicas de visualização de software tem sido utilizadas para representar a evolução de determinados atributos do software, facilitando a compreensão de suas características evolutivas. Apesar dessas técnicas, ainda existem lacunas ao explorá-las para compreender fatores que contribuem com o aumento da complexidade ao longo da evolução, por exemplo, a presença de código morto. Com base nesses fatores, neste trabalho foi proposta DCEVizz, uma abordagem para identificar e visualizar código morto na evolução de sistemas de software orientados a objetos. A finalidade dessa abordagem é prover melhor percepção da existência de código morto nas versões do software, assim como suas características evolutivas. De modo geral, a análise e compreensão da evolução do código morto pode fornecer informações úteis para predizer o aumento desse código nas versões futuras, aumentar a segurança na sua eliminação e facilitar sua identificação nas versões. A abordagem foi implementada em um plug-in para a plataforma IDE Eclipse (DCEVizz Tool) e avaliada em duas fases. Na primeira fase, foi realizada uma comparação qualitativa do código morto identificado por DCEVizz Tool com o identificado pela ferramenta Understand. Essa comparação mostrou que a técnica de detecção utilizada em DCEVizz Tool identificou maior quantidade de código morto do que Understand em todos os sistemas analisados. Na segunda fase da avaliação, foi realizado um estudo experimental com um grupo de voluntários, que realizaram um conjunto de atividades sem e com o uso de DCEVizz Tool. Os resultados desse estudo indicaram que o uso de DCEVizz Tool aumenta a precisão e a eficiência na execução das atividades e que, na opinião dos participantes, a abordagem facilita a compreensão da evolução do código morto.
publishDate 2017
dc.date.submitted.none.fl_str_mv 2017-02-17
dc.date.accessioned.fl_str_mv 2017-05-05T19:41:56425Z
dc.date.available.fl_str_mv 2017-05-05T19:41:56425Z
dc.date.issued.fl_str_mv 2017-05-05
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 BASTOS, C. Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos. 2017. 153 p. Dissertação (Mestrado em Ciência da Computação)-Universidade Federal de Lavras, Lavras, 2017.
dc.identifier.uri.fl_str_mv https://repositorio.ufla.br/handle/1/12831
identifier_str_mv BASTOS, C. Uma abordagem para visualização da evolução de código morto em sistemas de software orientados a objetos. 2017. 153 p. Dissertação (Mestrado em Ciência da Computação)-Universidade Federal de Lavras, Lavras, 2017.
url https://repositorio.ufla.br/handle/1/12831
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.publisher.none.fl_str_mv Universidade Federal de Lavras
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv UFLA
dc.publisher.country.fl_str_mv brasil
dc.publisher.department.fl_str_mv Departamento de Ciência da Computação
publisher.none.fl_str_mv Universidade Federal de Lavras
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFLA
instname:Universidade Federal de Lavras (UFLA)
instacron:UFLA
instname_str Universidade Federal de Lavras (UFLA)
instacron_str UFLA
institution UFLA
reponame_str Repositório Institucional da UFLA
collection Repositório Institucional da UFLA
bitstream.url.fl_str_mv https://repositorio.ufla.br/bitstreams/11611ec8-71c2-49d6-9ff8-a77ea88ca571/download
https://repositorio.ufla.br/bitstreams/abdbe5f1-eea4-4d85-b690-b6f664eeea09/download
https://repositorio.ufla.br/bitstreams/8b13300f-a0f9-4350-94da-cef1910909a0/download
https://repositorio.ufla.br/bitstreams/4d49ea6f-b918-4987-9aa1-6ec50399a16a/download
bitstream.checksum.fl_str_mv 246cd669d3c4d1cd4d3dd5a74240f5c3
760884c1e72224de569e74f79eb87ce3
d84beaf7588ffa5f462d03410a66282c
4baa0a12165147d19d17514affe92357
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA)
repository.mail.fl_str_mv nivaldo@ufla.br || repositorio.biblioteca@ufla.br
_version_ 1854947838829527040