00 CAMPUS ARISTÓTELES CALAZANS SIMÕES (CAMPUS A. C. SIMÕES) IC - INSTITUTO DE COMPUTAÇÃO Dissertações e Teses defendidas na UFAL - IC
Use este identificador para citar ou linkar para este item: http://www.repositorio.ufal.br/jspui/handle/riufal/7022
Tipo: Dissertação
Título: On the agreement among developers when detecting code smells aided by decision tree
Título(s) alternativo(s): Sobre a concordância entre desenvolvedores ao detectarem code smells auxiliados por árvores de decisão
Autor(es): Costa, Christiano Rossini Martins
Primeiro Orientador: Santos Neto, Baldoino Fonseca dos
metadata.dc.contributor.referee1: Ribeiro , Márcio de Medeiros
metadata.dc.contributor.referee2: Mello, Rafael Maiani de
Resumo: O code smell é um sintoma de um mau design de código em desenvolvimento de software.Geralmente ocorre quando os desenvolvedores conceberam mal o design de um componente de código ou porque não projetaram a solução adequadamente devido a prazos rígidos. Na literatura, o code smell é descrito informalmente, isto é, não é possível identificá-lo objetivamente. Essa informalidade pode levar dois ou mais desenvolvedores a raciocinar sobre cada ocorrência de smell a sua maneira. Como conseqüência de diferentes pontos de vista, percepções conflitantes nas mesmas bases de código podem ser notáveis, afetando a consistência entre as revisões de código. Trabalhos anteriores que abordam a subjetividade do code smell carecem de elementos informativos que possam descrever por que certos códigos-fonte foram anteriormente classifi- cados como code smell, a fim de ajudar os desenvolvedores a raciocinar sobre a ocorrência de um code smell com mais eficácia. Em nossa pesquisa, propomos mostrar ao desenvolvedor uma visualização de um classificador de árvore de decisão, composto por regras baseadas em métricas de software, com o objetivo de informar as razões pelas quais algum código-fonte foi classificado anteriormente como um host de um code smell. O fornecimento de novos insights pode levar o desenvolvedor a raciocinar de forma mais ampla sobre a ocorrência de um code smell, não se restringindo a fatores relacionados apenas a experiências e vida profissional. Nosso objetivo é, após várias avaliações de code smells, investigar como a concordância entre desenvolvedores pode ser influenciada pela visualização fornecida por um modelo de classificação compreensí- vel, o classificador de árvore de decisão. Realizamos um experimento on-line onde reunimos colaborações de 30 desenvolvedores da indústria e da academia. Os resultados indicam que: (i) a detecção de code smells auxiliada por uma árvore de decisão leva a uma melhora relativa da concordância em relação às detecções com base apenas na análise de código; (ii) a detecção de code smell auxiliada pela árvore de decisão não diminui o esforço para detectar smells (iii) nosso experimento sugere que as árvores de decisão usadas para dar suporte à detecção de code smells são úteis para o desenvolvedor em termos de insights para tomada de decisão.
Abstract: Code smell is a symptom of poor code design on software development. It often occurs when developers poorly conceived the design of the code component or because they did not properly designed the solution due to strict deadlines. In literature, code smell is described informally, i. e., it isn’t possible to identify a smelly code objectively. Such informality may lead two or more developers to reason about each smell occurrence in their own way. As a consequence of different viewpoints, conflicting perceptions on the same code bases may be notable, impacting the consistency across code reviews. Previous works that addresses code smell subjectivity lacks of some informative element that may describe why certain suspicions source code was previously classified as code smell in order to aid developers to reasoning about the occurrence of a code smell with more effectivity. In our research, we propose to show to the developer a visualization of a decision tree classifier, composed by some metric-based rules, aimed to inform the developer the reasons why some source code was previously classified as a host of a certain code smell. Providing new insights may tease the developer to reasoning the occurrence of a code smell widely, not restricting to factors concerned only to past experiences and backgrounds. Our objective is, after several code smell evaluations, investigate how the agreements among developers may be influenced by the visualization provided by a comprehensible classification model, the decision tree classifier. We performed an on line experiment where we gather collab- orations from 30 developers from industry and academy. The results indicate: (i) code smells detection aided by a decision tree leads to a relative improvement of agreement in relation to detections based solely on code analysis; (ii) the detection of code smell aided by decision tree do not decrease the effort to detect smells (iii) our experiment suggests that the decision trees used to support code smell detection are useful to the developer in terms of insights for decision making.
Palavras-chave: Code smells
Concordâncias
Sistemas de suporte de decisão
Code Smells
Agreements
Code Review
Decision Tree Classifier
Detection
Identification
Empirical study
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Idioma: eng
País: Brasil
Editor: Universidade Federal de Alagoas
Sigla da Instituição: UFAL
metadata.dc.publisher.program: Programa de Pós-Graduação em Informática
Citação: COSTA, Christiano Rossini Martins. On the agreement among developers when detecting code smells aided by decision tree. 2020. 59 f. Dissertação (Mestrado em Informática) - Instituto de Computação, Programa de Pós-Graduação em Informática, Universidade Federal de Alagoas, Maceió, 2020.
Tipo de Acesso: Acesso Aberto
URI: http://www.repositorio.ufal.br/handle/riufal/7022
Data do documento: 6-abr-2020
Aparece nas coleções:Dissertações e Teses defendidas na UFAL - IC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
On the agreement among developers when detecting code smells aided by decision tree .pdf1.49 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.