Gerenciando Dívida Técnica com Machine Learning

##plugins.themes.bootstrap3.article.main##

Ana Carolina Candido de Melo
Roberta Fagundes
Wylliams Santos

Resumo

Introdução: Dívida Técnica (DT) é definida como práticas inadequadas presentes no desenvolvimento de software, provocando em maiores custos e baixa qualidade (SEAMAN E GUO, 2011). Essas ações podem acelerar o desenvolvimento em curto prazo. Porém, em longo prazo, a má qualidade gera despesas, devido aos esforços utilizados para correções. Como consequência, DT é considerada um problema crítico nas empresas de desenvolvimento de software, sua existência resulta em custos excedentes, problemas de qualidade, ocasionando em perdas econômicas significativas (LENARDUZZI E DAVIDE, 2019). O termo conhecido como dívida técnica foi introduzido por (CUNNINGHAM, 1992) e, inicialmente, possuía o foco nas atividades de codificação, mas com o avanço das investigações, o conceito foi ampliado nas demais fases do desenvolvimento de software. Mas independentemente de como ocorra a DT, é necessário mantê-la gerenciada para assegurar a evolução do software, evitando uma descoberta tardia de sua amplitude e consequentemente dispendiosa (ALVES et al. 2018). Motivação: O processo de gerenciamento refere-se às atividades que são realizadas para garantir a correção eficiente da DT e, envolve as etapas de: identificação, mensuração, priorização, reembolso e monitoramento (LI et al. 2014). No entanto, as pesquisas sobre DT, em sua maioria, são realizadas através de estudos empíricos qualitativos. Tais estudos estão sujeitos a viés, uma vez que, dependem fortemente do julgamento de especialistas. De forma a reduzir essa subjetividade, pesquisadores estão explorando grandes quantidades de dados disponíveis em repositórios de software (TSINTZIRA et al. 2020). Bem como, buscando tecnologias para automatizar o processo de gerenciamento de uma DT. Esses dados e tecnologias permitem realizar estudos quantitativos em grande escala, adotando técnicas modernas, como aquelas pertencentes à Inteligência Artificial (IA). Grande parte do sucesso atual da IA deve-se às técnicas de Aprendizado de Máquina (do inglês, Machine Learning - ML), as quais possuem o objetivo de construir soluções que melhorem o seu desempenho por meio da análise de dados, bem como, construir modelos de regressão que podem prever o número de defeitos em sistemas de software (LUDEMIR et al. 2021). Objetivo do trabalho: Neste sentido, de modo a auxiliar as empresas de desenvolvimento de software, esse projeto de doutorado possui como um dos seus objetivos iniciais, realizar uma Mapeamento Sistemático da Literatura (MSL), de modo é investigar como a gestão de DT pode se beneficiar das técnicas de ML, analisando modelos, ferramentas e evidências que poderão automatizar esse processo, para posteriormente, desenvolver novas tecnologias para a indústria de software. Metodologia: Inicialmente, essa pesquisa será qualitativa, pois relaciona-se a análise das evidências coletadas no mapeamento sistemático da literatura, o qual terá como objetivo, conhecer os estudos disponíveis na literatura que apresentam evidências relacionadas aos anseios deste trabalho. Para isso, o método de pesquisa proposto por Kitchenham e Charters (2007) foi adotado, envolvendo três etapas, sendo elas: (i) Planejamento, referente a construção do protocolo de pesquisa; (ii) Condução, na qual as buscas foram realizadas e os estudos primários selecionados; e por fim (iii) Relato, referente a análise e descrição dos resultados. Resultados Preliminares: Como citado anteriormente, esse projeto tem como objetivo analisar como o ML pode auxiliar no gerenciamento de DT, dessa forma, a string de busca ((“technical debt” OR “technical debit”) AND ("artificial intelligence" OR "intelligent technique" OR "machine learning")) foi aplicada em quatro bases cientificas, sendo elas: ACM Digital Library, IEEE Digital Library, Science Direct e SCOPUS. Considerando o período de 2010 a 2023, 740 estudos primários foram retornados, esses tiveram seus títulos, resumos e palavras-chaves analisados através da aplicação dos critérios de inclusão e exclusão, e ao final, 105 estudos primários foram aprovados na primeira etapa do MSL. Atualmente, os estudos encontram-se na etapa de avaliação de qualidade, nos quais todos os estudos estão sendo lidos na integra para posteriormente as questões de pesquisa serem respondidas, sendo ao total nove: QP1: Quais técnicas de ML estão sendo aplicadas no gerenciamento de DT?; QP2: Quais atividades do gerenciamento de DT são apoiadas por técnicas de ML?; QP3: Quais tipos de DT são apoiados por técnicas de ML?; QP4: Qual tipo de solução é desenvolvida utilizando técnicas de ML para gerenciamento de DT?; QP5: Quais modelos de regressão foram desenvolvidos para auxiliar no gerenciamento de DT?; QP6: Quais variáveis são consideradas na mensuração ou estimativa de uma DT utilizando técnicas de ML?; QP7: Quais ferramentas, softwares ou recursos automatizados para o gerenciamento de DT foram implementados utilizando técnicas de ML?; QP8: Quais benefícios são alcançados ao implementar técnicas de ML no gerenciamento de DT?; QP9: Quais são os desafios ou lacunas existentes na aplicação de técnicas de ML no gerenciamento de DT?. Resultados Esperados e Conclusão: Como resultados esperados, após a condução do MSL e demais atividades, as quais estão em processo de planejamento, ao final pretende-se disponibilizar um framework que auxilia no gerenciamento de DT no desenvolvimento de software, proporcionando um instrumento de auxílio aos profissionais da indústria O desenvolvimento do framework tem o objetivo de fornecer funcionalidades relevantes para suprir as dificuldades que os profissionais da indústria encontram para compreender e gerenciar DT nos projetos, como também, reduzir o tempo que dedicam a esse processo. Com isso, fortalecer a colaboração entre academia e indústria, como também, o desenvolvimento de soluções tecnológicas para o mercado.

Downloads

Não há dados estatísticos.

##plugins.themes.bootstrap3.article.details##

Seção
Engenharia da Computação e Sistemas