Uma análise da relação entre code smells e dívida técnica auto-admitida

  • Felipe Gustavo de S. Gomes UFBA
  • Thiago Souto Mendes IFBA
  • Rodrigo O. Spínola Universidade Salvador
  • Manoel Mendonça UFBA
  • Mário Farias IFSE

Resumo


Code smells indicam possíveis problemas na implementação de um sistema que podem levar a` necessidade de refatoração do seu código. Eles podem ser detectados automaticamente e são considerados indicadores de presença de Dívida Técnica (DT). Contudo, estudos indicam que considerar apenas code smells na tarefa de detecção da presença de itens de dívida é insuficiente. E ́ necessário utilizar estratégias de detecção complementares, como a utilização de informações extráıdas a partir de comentários de código. Porém, ainda são poucos os estudos sobre a relação entre code smells e DT autoadmitida. Este trabalho analisa três projetos open source para investigar a relação existente, em termos de sobreposição e complementariedade de itens de DT identificados, utilizando detecção via code smells e DT auto-admitida. Os resultados indicam que as informações de comentários podem complementar as informações de code smells e apoiar os desenvolvedores a identificar DT.

Referências

Alves, Nicolli, S., Mendes, T. S., Mendonça, M. G., Spínola, R. O., Shull, F., and Seaman, C. (2016). Identification and management of technical debt: A systematic mapping study. Information and Software Technology, 40:100–121.

da Silva Maldonado, E., Shihab, E., and Tsantalis, N. (2017). Using natural language processing to automatically detect self-admitted technical debt. IEEE Transactions on Software Engineering, 43(11):1044–1062.

Farias, M. A., de Mendonça Neto, M. G., da Silva, A. B., and Spínola, R. O. (2015). A contextualized vocabulary model for identifying technical debt on code comments. In 7th MTD, pages 25–32. IEEE.

Fontana, F. A., Ferme, V., and Spinelli, S. (2012). Investigating the impact of code smells debt on quality code evaluation. In Proceedings of the MTD, MTD ’12, pages 15–22, Piscataway, NJ, USA. IEEE Press.

Fowler, M. (1999). Refactoring: Improving the Design of Existing Code. Addison-Wesley Longman Publishing Co., Inc., Boston, USA.

Gomes, F., Mendes, T., Carvalho, L., Spínola, R., Novais, R., and Mendonça, M. (2017). Repositoryminer – uma ferramenta extensível de mineração de repositórios de software para identificação automática de dívida técnica. CBSoft - Salão de Ferramentas.

Kerievsky, J. (2005). Refactoring to patterns. Pearson Deutschland GmbH.

Lanza, M. and Marinescu, R., editors (2006). Object-Oriented Metrics in Practice. Springer-Verlag Berlin Heidelberg, New York.

McConnell, S. (2008). Productivity variations among software developers and teams: The origin of 10x. 10x Software Development.

Potdar, A. and Shihab, E. (2014). An exploratory study on self-admitted technical debt. In ICSME, 2014 IEEE International Conference on, pages 91–100.

Seaman, C. and Guo, Y. (2011). Advances in computers. In Zelkowitz, M. V., editor, Chapter 2 - Measuring and Monitoring Technical Debt, volume 82 of Advances in Computers, pages 25 – 46. Elsevier.

Zazworka, N., Spínola, R. O., Vetro’, A., Shull, F., and Seaman, C. (2013). A case study on effectively identifying technical debt. In Proceedings of the 17th EASE, EASE ’13, pages 42–47, New York. ACM.
Publicado
13/09/2019
Como Citar

Selecione um Formato
DE S. GOMES, Felipe Gustavo; SOUTO MENDES, Thiago; O. SPÍNOLA, Rodrigo; MENDONÇA, Manoel; FARIAS, Mário. Uma análise da relação entre code smells e dívida técnica auto-admitida. In: WORKSHOP ON SOFTWARE VISUALIZATION (VEM), 1. , 2019, Salvador. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 . p. 37-44. DOI: https://doi.org/10.5753/vem.2019.7582.