Uma abordagem de priorização para apoiar o pagamento de dívida técnica auto-admitida em código-fonte - Lima, Bruno Santos de [UNESP] (Universidade Estadual Paulista (Unesp), 2021)
Dívida Técnica é uma metáfora que descreve a relação custo-benefício entre adiar atividades técnicas de desenvolvimento e suas consequências a longo prazo. A falta de gestão da Dívida Técnica diminui a qualidade interna do software e torna complexa e custosa sua manutenção. Instâncias de Dívida Técnica são denominadas Dívida Técnica Auto-Admitida (DTAA) quando são cometidas de modo intencional e documentadas pelo engenheiro de software por meio de comentários no código-fonte. Diversos estudos exploram a identificação de DTAA, porém faltam abordagens para apoiar a etapa de pagamento, em particular, abordagens que indiquem quais instâncias de DTAA devem ser pagas prioritariamente. Este trabalho apresenta uma abordagem para apoiar a atividade de priorização no pagamento de DTAA. A Abordagem de Priorização desenvolvida concentra-se na criação de associações entre instâncias de DTAA e problemas encontrados no código-fonte, identificados por Análise Estática Automática de código. Os resultados indicam que a utilização dos problemas presentes no código-fonte em conjunto com a descrição dos comentários DTAA possuem maior precisão para estabelecer prioridade entre instâncias de DTAA, se comparado com o uso apenas da descrição dos comentários DTAA. Além disso, a Abordagem de Priorização foi aplicada em diferentes projetos de software por meio de um Estudo Experimental que indicou que a abordagem pode ser utilizada como guia de priorização para a tomada de decisão por parte dos desenvolvedores.

Technical Debt is a metaphor that describes the cost-benefit relationship between postponing technical development activities and the consequences of this postponement. The lack of Technical Debt Management impacts the internal quality of the software and makes its maintenance complex and costly. Technical Debt instances are called Self-Admitted Technical Debt (SATD) when they are intentionally committed and documented by the software engineer through comments in the source code. Several studies explore the SATD identification, there are very few approaches on the payment of SATD, in particular, approaches that indicate which SATD instances should be paid as a priority. This dissertation presents an approach to support the prioritization activity in the SATD payment. The Prioritization Approach developed focuses on creating associations between SATD and problems found in the source code, identified by Automatic Static Analysis (ASA). The results indicate that the use of the problems present in the source code, together with the description of the SATD instances have greater precision to establish the priority SATD when compared to the use of only the description of the SATD comments. Also, the Prioritization Approach was applied to different software projects through an Experimental Study, indicating that the Prioritization Approach can be used as a prioritization guide for decision making by developers.
A prioritization approach to support self-admitted technical debt payment in source code
Keywords: Dívida técnica auto-admitida; Priorização de dívida técnica; Gestão de dívida técnica; Manutenção de software; Self-admitted technical debt; Technical debt prioritization; Technical debt management; Software maintenance