Uma abordagem de priorização para apoiar o pagamento de dívida técnica auto-admitida em código-fonte

Detalhes bibliográficos
Ano de defesa: 2021
Autor(a) principal: Lima, Bruno Santos de
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Estadual Paulista (Unesp)
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://hdl.handle.net/11449/202649
Resumo: 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.