[en] SYNTHESIS OF CODE ANOMALIES: REVEALING DESIGN PROBLEMS IN THE SOURCE CODE
Autor(a) principal: | |
---|---|
Data de Publicação: | 2016 |
Tipo de documento: | Outros |
Idioma: | eng |
Título da fonte: | Repositório Institucional da PUC-RIO (Projeto Maxwell) |
Texto Completo: | https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=25718@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=25718@2 http://doi.org/10.17771/PUCRio.acad.25718 |
Resumo: | [pt] Problemas de projeto afetam quase todo sistema de software, fazendo com que a sua manutenção seja cara e impeditiva. Como documentos de projeto raramente estão disponíveis, desenvolvedores frequentemente precisam identificar problemas de projeto a partir do código fonte. Entretanto, a identificação de problemas de projeto não é uma tarefa trivial por diversas razões. Por exemplo, a materialização de problemas de projeto tende a ser espalhada por diversos elementos de código anômalos na implementação. Infelizmente, trabalhos prévios assumiram erroneamente que cada anomalia de código individual – popularmente conhecida como code smell – pode ser usada como um indicador preciso de problema de projeto. Porém, evidências empíricas recentes mostram que diversos tipos de problemas de projeto são frequentemente relacionados a um conjunto de anomalias de código inter-relacionadas, conhecidas como aglomerações de anomalias de código. Neste contexto, esta dissertação propõe uma nova técnica para a síntese de aglomerações de anomalias de código. A técnica tem como objetivo: (i) buscar formas variadas de aglomeração em um programa, e (ii) sumarizar diferentes tipos de informação sobre cada aglomeração. A avaliação da técnica de síntese baseou-se na análise de diversos projetos de software da indústria e em um experimento controlado com desenvolvedores profissionais. Ambos estudos sugerem que o uso da técnica de síntese ajudou desenvolvedores a identificar problemas de projeto mais relevantes do que o uso de técnicas convencionais. |
id |
PUC_RIO-1_dc06dcccff97ed7899bc5f3a0aa5a167 |
---|---|
oai_identifier_str |
oai:MAXWELL.puc-rio.br:25718 |
network_acronym_str |
PUC_RIO-1 |
network_name_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository_id_str |
534 |
spelling |
[en] SYNTHESIS OF CODE ANOMALIES: REVEALING DESIGN PROBLEMS IN THE SOURCE CODE[pt] SÍNTESE DE ANOMALIAS DE CÓDIGO: REVELANDO PROBLEMAS DE PROJETO NO CÓDIGO FONTE[pt] SINTESE[pt] CODIGO FONTE[pt] PROBLEMA DE PROJETO[pt] ANOMALIA DE CODIGO[en] SYNTHESIS[en] SOURCE CODE[en] DESIGN PROBLEM[en] CODE SMELL[pt] Problemas de projeto afetam quase todo sistema de software, fazendo com que a sua manutenção seja cara e impeditiva. Como documentos de projeto raramente estão disponíveis, desenvolvedores frequentemente precisam identificar problemas de projeto a partir do código fonte. Entretanto, a identificação de problemas de projeto não é uma tarefa trivial por diversas razões. Por exemplo, a materialização de problemas de projeto tende a ser espalhada por diversos elementos de código anômalos na implementação. Infelizmente, trabalhos prévios assumiram erroneamente que cada anomalia de código individual – popularmente conhecida como code smell – pode ser usada como um indicador preciso de problema de projeto. Porém, evidências empíricas recentes mostram que diversos tipos de problemas de projeto são frequentemente relacionados a um conjunto de anomalias de código inter-relacionadas, conhecidas como aglomerações de anomalias de código. Neste contexto, esta dissertação propõe uma nova técnica para a síntese de aglomerações de anomalias de código. A técnica tem como objetivo: (i) buscar formas variadas de aglomeração em um programa, e (ii) sumarizar diferentes tipos de informação sobre cada aglomeração. A avaliação da técnica de síntese baseou-se na análise de diversos projetos de software da indústria e em um experimento controlado com desenvolvedores profissionais. Ambos estudos sugerem que o uso da técnica de síntese ajudou desenvolvedores a identificar problemas de projeto mais relevantes do que o uso de técnicas convencionais.[en] Design problems affect almost all software projects and make their maintenance expensive and impeditive. As design documents are rarely available, programmers often need to identify design problems from the source code. However, the identification of design problems is not a trivial task for several reasons. For instance, the reification of a design problem tends to be scattered through several anomalous code elements in the implementation. Unfortunately, previous work has wrongly assumed that each single code anomaly - popularly known as code smell - can be used as an accurate indicator of a design problem. There is growing empirical evidence showing that several types of design problems are often related to a set of inter-related code anomalies, the so-called code-anomaly agglomerations, rather than individual anomalies only. In this context, this dissertation proposes a new technique for the synthesis of code-anomaly agglomerations. The technique is intended to: (i) search for varied forms of agglomeration in a program, and (ii) summarize different types of information about each agglomeration. The evaluation of the synthesis technique was based on the analysis of several industry-strength software projects and a controlled experiment with professional programmers. Both studies suggest the use of the synthesis technique helped programmers to identify more relevant design problems than the use of conventional techniques.MAXWELLALESSANDRO FABRICIO GARCIAALESSANDRO FABRICIO GARCIAALESSANDRO FABRICIO GARCIAWILLIAN NALEPA OIZUMI2016-02-03info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/otherhttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=25718@1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=25718@2http://doi.org/10.17771/PUCRio.acad.25718engreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2022-07-14T00:00:00Zoai:MAXWELL.puc-rio.br:25718Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342022-07-14T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false |
dc.title.none.fl_str_mv |
[en] SYNTHESIS OF CODE ANOMALIES: REVEALING DESIGN PROBLEMS IN THE SOURCE CODE [pt] SÍNTESE DE ANOMALIAS DE CÓDIGO: REVELANDO PROBLEMAS DE PROJETO NO CÓDIGO FONTE |
title |
[en] SYNTHESIS OF CODE ANOMALIES: REVEALING DESIGN PROBLEMS IN THE SOURCE CODE |
spellingShingle |
[en] SYNTHESIS OF CODE ANOMALIES: REVEALING DESIGN PROBLEMS IN THE SOURCE CODE WILLIAN NALEPA OIZUMI [pt] SINTESE [pt] CODIGO FONTE [pt] PROBLEMA DE PROJETO [pt] ANOMALIA DE CODIGO [en] SYNTHESIS [en] SOURCE CODE [en] DESIGN PROBLEM [en] CODE SMELL |
title_short |
[en] SYNTHESIS OF CODE ANOMALIES: REVEALING DESIGN PROBLEMS IN THE SOURCE CODE |
title_full |
[en] SYNTHESIS OF CODE ANOMALIES: REVEALING DESIGN PROBLEMS IN THE SOURCE CODE |
title_fullStr |
[en] SYNTHESIS OF CODE ANOMALIES: REVEALING DESIGN PROBLEMS IN THE SOURCE CODE |
title_full_unstemmed |
[en] SYNTHESIS OF CODE ANOMALIES: REVEALING DESIGN PROBLEMS IN THE SOURCE CODE |
title_sort |
[en] SYNTHESIS OF CODE ANOMALIES: REVEALING DESIGN PROBLEMS IN THE SOURCE CODE |
author |
WILLIAN NALEPA OIZUMI |
author_facet |
WILLIAN NALEPA OIZUMI |
author_role |
author |
dc.contributor.none.fl_str_mv |
ALESSANDRO FABRICIO GARCIA ALESSANDRO FABRICIO GARCIA ALESSANDRO FABRICIO GARCIA |
dc.contributor.author.fl_str_mv |
WILLIAN NALEPA OIZUMI |
dc.subject.por.fl_str_mv |
[pt] SINTESE [pt] CODIGO FONTE [pt] PROBLEMA DE PROJETO [pt] ANOMALIA DE CODIGO [en] SYNTHESIS [en] SOURCE CODE [en] DESIGN PROBLEM [en] CODE SMELL |
topic |
[pt] SINTESE [pt] CODIGO FONTE [pt] PROBLEMA DE PROJETO [pt] ANOMALIA DE CODIGO [en] SYNTHESIS [en] SOURCE CODE [en] DESIGN PROBLEM [en] CODE SMELL |
description |
[pt] Problemas de projeto afetam quase todo sistema de software, fazendo com que a sua manutenção seja cara e impeditiva. Como documentos de projeto raramente estão disponíveis, desenvolvedores frequentemente precisam identificar problemas de projeto a partir do código fonte. Entretanto, a identificação de problemas de projeto não é uma tarefa trivial por diversas razões. Por exemplo, a materialização de problemas de projeto tende a ser espalhada por diversos elementos de código anômalos na implementação. Infelizmente, trabalhos prévios assumiram erroneamente que cada anomalia de código individual – popularmente conhecida como code smell – pode ser usada como um indicador preciso de problema de projeto. Porém, evidências empíricas recentes mostram que diversos tipos de problemas de projeto são frequentemente relacionados a um conjunto de anomalias de código inter-relacionadas, conhecidas como aglomerações de anomalias de código. Neste contexto, esta dissertação propõe uma nova técnica para a síntese de aglomerações de anomalias de código. A técnica tem como objetivo: (i) buscar formas variadas de aglomeração em um programa, e (ii) sumarizar diferentes tipos de informação sobre cada aglomeração. A avaliação da técnica de síntese baseou-se na análise de diversos projetos de software da indústria e em um experimento controlado com desenvolvedores profissionais. Ambos estudos sugerem que o uso da técnica de síntese ajudou desenvolvedores a identificar problemas de projeto mais relevantes do que o uso de técnicas convencionais. |
publishDate |
2016 |
dc.date.none.fl_str_mv |
2016-02-03 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/other |
format |
other |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=25718@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=25718@2 http://doi.org/10.17771/PUCRio.acad.25718 |
url |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=25718@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=25718@2 http://doi.org/10.17771/PUCRio.acad.25718 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
MAXWELL |
publisher.none.fl_str_mv |
MAXWELL |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell) instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) instacron:PUC_RIO |
instname_str |
Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
instacron_str |
PUC_RIO |
institution |
PUC_RIO |
reponame_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
collection |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository.name.fl_str_mv |
Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
repository.mail.fl_str_mv |
|
_version_ |
1814822593563197440 |