Software effort estimation (SEE) is helpful for project managers to decide the cost and effort needed to complete the project. The techniques used for estimating effort in conventional software development are not very useful for estimating effort in object-oriented projects because of their varying nature. The machine learning (ML) approaches are achieving greater recognition in SEE research because they can demonstrate the complex relationship between software effort and other attributes. So, there is a need for a systematic literature review (SLR) that can discuss the applicability of ML techniques for SEE in object-oriented projects, which is not available in the literature. This research aims to provide a specific review and analysis of various ML-based SEE works in the object-oriented software development (OOSD) paradigm based on different perspectives: type of learning technique used, type of performance measure used, performance level achieved, the dataset used, etc. Purposefully, we have chosen appropriate articles after applying selection and quality evaluation criteria. After investigation, we found that different ML techniques have been applied in these works, and their performance is better than the classical models. Hence, more efforts are needed to encourage the application of ML techniques for SEE in the OOSD paradigm. Also, most of the works have used small-sized datasets for effort estimation in OOSD, due to which their model's performance cannot be generalized. So, the researchers should collect more large-sized datasets working in line with the software organizations.
Read full abstract