Using Machine Learning Technique for Effort Estimation in Software Development

  • Weldson Amaral Corrêa UFMA
  • Luis Rivero UFMA
  • Geraldo Braz Junior UFMA
  • Davi Viana UFMA

Resumo


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. This research aims to propose a methodology to estimate effort using a ML technique based on decision trees: XGBoost. To evaluate our methodology, we conducted tests with four datasets using two metrics: Mean Magnitude Relative Error and Prediction(25). The preliminary results show consistent results for this methodology for software effort estimation based on the employed metrics, which indicates that our methodology is promising. As further work, new datasets must be analyzed using our methodology, and also an approach using synthetic data to improve the ML training.
Palavras-chave: Machine Learning, Effort Estimation, Software Development
Publicado
28/10/2019
Como Citar

Selecione um Formato
CORRÊA, Weldson Amaral; RIVERO, Luis; BRAZ JUNIOR, Geraldo; VIANA, Davi. Using Machine Learning Technique for Effort Estimation in Software Development. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 18. , 2019, Fortaleza. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 . p. 240-245.