Return to search

[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] 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.

Identiferoai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:25718
Date03 February 2016
CreatorsWILLIAN NALEPA OIZUMI
ContributorsALESSANDRO FABRICIO GARCIA, ALESSANDRO FABRICIO GARCIA
PublisherMAXWELL
Source SetsPUC Rio
LanguageEnglish
Detected LanguagePortuguese
TypeTEXTO

Page generated in 0.0022 seconds