Título: | PRIORIZAÇÃO DE ANOMALIAS DE CÓDIGO RELEVANTES AO PROJETO DOS SISTEMAS DE SOFTWARE | ||||||||||||
Autor: |
ANDERSON JOSE SILVA DE OLIVEIRA |
||||||||||||
Colaborador(es): |
ALESSANDRO FABRICIO GARCIA - Orientador |
||||||||||||
Catalogação: | 31/MAR/2020 | Língua(s): | INGLÊS - ESTADOS UNIDOS |
||||||||||
Tipo: | TEXTO | Subtipo: | TESE | ||||||||||
Notas: |
[pt] Todos os dados constantes dos documentos são de inteira responsabilidade de seus autores. Os dados utilizados nas descrições dos documentos estão em conformidade com os sistemas da administração da PUC-Rio. [en] All data contained in the documents are the sole responsibility of the authors. The data used in the descriptions of the documents are in conformity with the systems of the administration of PUC-Rio. |
||||||||||||
Referência(s): |
[pt] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=47306&idi=1 [en] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=47306&idi=2 |
||||||||||||
DOI: | https://doi.org/10.17771/PUCRio.acad.47306 | ||||||||||||
Resumo: | |||||||||||||
Sistemas de software provavelmente enfrentarão os chamados problemas de projeto. Um problema de projeto é o resultado de más decisões
que podem afetar alguns atributos de qualidade importantes do sistema
de software, como manutenção, desempenho e afins. Dada a típica falta
de documentação do projeto, os desenvolvedores precisam confiar em sintomas que aparecem a nível de implementação para identificar e remover
problemas de projeto. Um sintoma a nível de implementação geralmente
se manifesta como uma anomalia de código, que se trata de uma microestrutura no programa possivelmente indicando a presença de (ou parte de)
um problema de projeto. Grandes programas possuem centenas ou milhares
de elementos (pacotes, classes, interfaces e afins) nos quais uma proporção
significativa é afetada por anomalias. No entanto, muitas dessas anomalias
não possuem relação com problemas de projeto, em outras palavras, elas
não são anomalias relevantes ao problema de projeto. Desse modo, torna-se
difícil e demorado priorizar os elementos anômalos do programa que são suspeitos de terem problema de projeto. Infelizmente, a literatura não fornece
aos desenvolvedores heurísticas que auxiliem a priorização destes elementos
de projeto suspeitos. Neste contexto, esta dissertação reporta dois estudos
que objetivam auxiliar na elaboração de tais heurísticas, visando auxiliar o
desenvolvedor nas decisões de priorização. O objetivo destas heurísticas é
localizar uma pequena lista de elementos suspeitos de terem anomalias de
código relevantes ao problema de projeto. Nosso primeiro estudo consiste em
uma análise qualitativa para determinar os critérios utilizados pelos desenvolvedores para a priorização de elementos suspeitos de terem problemas
de projeto. Com base nesses critérios, derivamos um conjunto preliminar
de heurísticas de priorização. Nosso segundo estudo centrou-se na avaliação
destas heurísticas. Como resultado, descobrimos que duas das nove heurísticas alcançaram os melhores resultados de precisão. As melhores heurísticas
são baseadas em dois critérios: diversidade de anomalias e granularidade das
anomalias. Nossas descobertas sugerem que fomos capazes de obter uma primeira abordagem promissora para apoiar os desenvolvedores na priorização
de elementos com anomalias de código relevantes ao projeto de software.
|
|||||||||||||
|