Submitted by Lucienne Costa (lucienneferreira@ufcg.edu.br) on 2018-05-02T20:10:07Z
No. of bitstreams: 1
MÁRIO HOZANO LUCAS DE SOUZA – TESE (PPGCC) 2017.pdf: 3990516 bytes, checksum: b6a38a396737d92fd11b9fa9fb3027f5 (MD5) / Made available in DSpace on 2018-05-02T20:10:07Z (GMT). No. of bitstreams: 1
MÁRIO HOZANO LUCAS DE SOUZA – TESE (PPGCC) 2017.pdf: 3990516 bytes, checksum: b6a38a396737d92fd11b9fa9fb3027f5 (MD5)
Previous issue date: 2017-06-02 / Anomalias de código conhecidas como bad smells indicam estruturas em código que podem prejudicar a compreensão e manutenção de programas. A ausência de uma definição clara para os bad smells contribui para que diferentes interpretações sejam consideradas, fazendo com que desenvolvedores possuam uma noção particular do que são tais anomalias. Nesse sentido, algoritmos de aprendizagem de máquina têm sido utilizados para customizar a detecção de bad smells a partir de um conjunto de avaliações. Entretanto, tal customização não é guiada a partir das diferentes heurísticas utilizadas pelos desenvolvedores para a detecção de smells. Como consequência tal customização pode não ser eficiente, exigindo um esforço considerável para obter uma alta efetividade. Esse trabalho apresenta um extensivo estudo que investiga o quão similar os desenvolvedores detectam smells em código, e analisa fatores que podem influenciar em tal detecção. As conclusões desse estudo motivaram a criação de uma técnica de customização guiada para melhorar a eficiência na detecção de smells. Essa técnica, definida como Histrategy, guia a customização a partir de um conjunto limitado de estratégias para detectar um mesmo tipo de smell. A partir de um estudo experimental que envolveu 62 desenvolvedores e 8 tipos de bad smell. Os resultados indicaram que a Histrategy apresentou performance superior a 6 algoritmos de aprendizagem de máquina, utilizados em abordagens não guiadas. Por fim, os resultados confirmaram que a customização guiada foi capaz assistir desenvolvedores com estratégias de detecção eficazes e eficientes. / Bad smells indicate poor implementation choices that may hinder program comprehension
and maintenance. Their informal definition allows developers to follow different heuristics
to detect smells in their projects. In such context, machine learning algorithms have been
adapted to customize smell detection according to a set of examples of smell evaluations.
However, such customization is not guided (i.e. constrained) to consider alternative heuristics used by developers when detecting smells. As a result, their customization might not be efficient, requiring a considerable effort to reach high effectiveness. This work presents an extensive study concerning how similar the developers detect smells in code, and investigate which factors may influence in such detection. The findings of this study lead to the creation of Histrategy, a guided customization technique to improve the efficiency on smell detection. Histrategy considers a limited set of detection strategies, produced from different detection heuristics, as input of a customization process. The output of the customization process consists of a detection strategy tailored to each developer. The technique was evaluated in an experimental study with 62 developers and eight types of code smells. The results showed that Histrategy is able to outperform six widely adopted machine learning algorithms, used in unguided approaches. Finally, the results confirmed that the guided customization was able to support developers with effective and efficient detection strategies.
Identifer | oai:union.ndltd.org:IBICT/oai:localhost:riufcg/556 |
Date | 02 May 2018 |
Creators | SOUZA, Mário Hozano Lucas de. |
Contributors | COSTA, Evandro de Barros. |
Publisher | Universidade Federal de Campina Grande, PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO, UFCG, Brasil, Centro de Engenharia Elétrica e Informática - CEEI |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis |
Source | reponame:Biblioteca de Teses e Dissertações da UFCG, instname:Universidade Federal de Campina Grande, instacron:UFCG |
Rights | info:eu-repo/semantics/openAccess |
Relation | UFAL |
Page generated in 5.9289 seconds