Applying Machine Learning to Estimating Effort in Software Development

Autor: CORRÊA, Weldson Amaral
Přispěvatelé: SANTOS, Davi Viana dos, BRAZ JUNIOR, Geraldo, RIVERO CABREJOS, Luis Jorge Enrique, GRACIANO NETO, Valdemar Vicente
Jazyk: portugalština
Rok vydání: 2020
Předmět:
Zdroj: Biblioteca Digital de Teses e Dissertações da UFMA
Universidade Federal do Maranhão (UFMA)
instacron:UFMA
Popis: Submitted by Maria Aparecida (cidazen@gmail.com) on 2021-05-02T14:56:03Z No. of bitstreams: 1 W.Amaral C..pdf: 18165056 bytes, checksum: 43e8ad2e49b7cc0a1f525314836a546f (MD5) Made available in DSpace on 2021-05-02T14:56:03Z (GMT). No. of bitstreams: 1 W.Amaral C..pdf: 18165056 bytes, checksum: 43e8ad2e49b7cc0a1f525314836a546f (MD5) Previous issue date: 2020-10-29 CAPES FAPEMA Estimates in software projects aim to help practitioners predict more realistic values on software development, impacting the quality of software process activities regarding planning and execution. However, software companies have difficulties when carrying out estimations that represent adequately the real effort needed to execute the software project activities. Although, the literature presents techniques to estimate effort, this activity remains complex. Recently, Machine Learning (ML) techniques are been applied to solve this problem. Through ML techniques it is possible to use databases of finished projects (datasets) to help get more precisely estimations. However, the estimations depends on the dataset they are applied. This research propose a methodolody based on automatic machine learning to generalize the estimations through many datasets. To evaluate our methodology, we conducted tests with ten datasets using four metrics: Mean Absolute Error, Median Magnitude Relative Error, Mean Magnitude Relative Error and Percentage Relative Error Deviation. The results show that the proposed methodology has consistent estimations for sofware effort based on the employed metrics, which indicates that our methodology is promising and can generalize the results to other datasets. Estimativas em projetos de software visam auxiliar profissionais na previsão de valores mais adequados para o desenvolvimento do sistema, impactando na qualidade do planejamento e execução das atividades do processo. Todavia, as organizações de software possuem dificuldades em realizar estimativas que representem uma aproximação mais adequada do esforço necessário para execução das atividades do projeto de software. Apesar da literatura apresentar técnicas para estimar o esforço, esta atividade continua não sendo trivial. Nos últimos anos, técnicas baseadas em algoritmos de Aprendizado de Máquina (AM) têm recebido destaque para auxiliar na resolução deste problema. Através de técnicas de AM, pode-se utilizar bases de dados de projetos já executados (datasets) para auxiliar em estimativas mais precisas. Entretanto, as estimativas geradas pelas técnicas de AM dependem do dataset que são aplicadas. Esta pesquisa tem objetivo de apresentar uma metodologia de estimativa de esforço usando algoritmo de aprendizado de máquina automatizado para ser capaz de generalizar as estimativas para diversos datasets. Para avaliar a metodologia proposta, foram conduzidos testes com 10 datasets e quatro métricas: Mean Absolute Error, Median Magnitude Relative Error, Mean Magnitude Relative Error e Percentage Relative Error Deviation. Os resultados demonstram que a metodologia proposta é consistente para estimativa de esforço em relação às métricas analisadas, indicando que a metodologia é promissora e consegue generalizar os resultados para múltiplos datasets.
Databáze: OpenAIRE