TCC - Caio Henrique Silva Ramos

Métodos para extração e priorização de dívida técnica


Supervisor - Alfredo Goldman

Co-supervisor - Diogo Pina


Resumo

Dívida técnica é uma metáfora na engenharia de software para artefatos imaturos, incompletos ou inadequados no ciclo de vida de um projeto. Adquirir uma dívida técnica traz benefícios a curto prazo tais como redução do tempo de desenvolvimento ou esforço, mas pode causar maiores custos e diminuir a qualidade do código ao longo do tempo.

O objetivo deste trabalho de formatura é desenvolver métodos para extração de dívida técnica através de uma ferramenta que auxilie nessa tarefa. O projeto se concentra em responder duas questões acerca de dívida técnica: como gerar métricas de código para um dado projeto de software, e formas de encontrar itens de dívida técnica baseadas em métricas de código. Para fazer isso, são utilizadas métricas de código extraídas utilizando a ferramenta SonarQube, projeto open source para análise contínua da qualidade de código.

Os resultados obtidos foram uma ferramenta para executar análises do Sonar Qube para qualquer arquitetura de projeto, escrita na linguagem Python; um estudo sobre os dados gerados e tabelas no banco de dados utilizadas, com foco aonde são armazenadas as dívidas técnicas e métricas de código; exposição e exploração das informações geradas por uma análise de dois projetos de código livre reais, comparando métricas de arquivos saudáveis com arquivos que possuem algum tipo de problema.