An Ensemble of Hybrid Search-Based Algorithms for Software Effort Prediction

An Ensemble of Hybrid Search-Based Algorithms for Software Effort Prediction

Wasiur Rhmann
DOI: 10.4018/IJSSCI.2021070103
(Individual Articles)
No Current Special Offers


Software organizations rely on the estimation of efforts required for the development of software to negotiate customers and plan the schedule of the project. Proper estimation of efforts reduces the chances of project failures. Historical data of projects have been used to predict the effort required for software development. In recent years, various ensemble of machine learning techniques have been used to predict software effort. In the present work, a novel ensemble technique of hybrid search-based algorithms (EHSBA) is used for software effort estimation. Four HSBAs—fuzzy and random sets-based modeling (FRSBM-R), symbolic fuzzy learning based on genetic programming (GFS-GP-R), symbolic fuzzy learning based on genetic programming grammar operators and simulated annealing (GFS_GSP_R), and least mean squares linear regression (LinearLMS_R)—are used to create an ensemble (EHSBA). The EHSBA is compared with machine learning-based ensemble bagging, vote, and stacking on datasets obtained from PROMISE repository. Obtained results reported that EHSBA outperformed all other techniques.
Article Preview


The software industry has a significant contribution to the world economy. The digitalization of software engineering and IT companies made the Software firm more competitive (Pashchenko, 2020). The increase of competition in industry demanded more accurately and reliably prediction of resources required for software development. Software companies are dependent on accurate prediction of cost, resources and time duration of software projects. Various measurements in software projects are calculated in terms of software metrics. Software metrics indicate the progress or quantity of the project attribute. Various software metrics are available to use in different phases of the software development life cycle. Software cost varies according to the software efforts required to complete the project. Although various techniques are there to estimate the cost still it is a very challenging task to accurately estimate the project effort (Akhtar, 2013). Allocation of resources can be made properly with an accurate measure of software effort. Software efforts are measured in person-month and inaccurate prediction of software effort may cause huge losses to businesses or organizations that may miss projects (Sehra et al., 2017).

Most of the work on software effort prediction in literature has utilized machine learning techniques and an ensemble of machine learning techniques is used to obtain a prediction model with better prediction capability. In the present work; the Ensemble of Hybrid search based algorithms are used for software effort estimation. Hybrid search based algorithms combine machine learning with search-based algorithms and ensemble are used to combine different HSBA to create a better prediction model. In our previous work, Hybrid search based algorithms are used for software fault prediction (Rhmann, 2018; Rhmann et al. 2019), cross-project defect prediction (Rhmann, 2018).

The following are the major contributions of this work:

  • A novel technique of Ensemble of HSBA(EHSBA) is proposed;

  • Comparison of Machine learning techniques(MLT) based ensembles with EHSBAs.

The rest of the paper is organized as follows: related work, description of the dataset used in the study, different techniques used in the study, the proposed framework used for the creation of ensemble of hybrid search based algorithm, different performance evaluation measures, results and discussions, various possible threats to the validity of the study, and the conclusions and future works.


Various factors are the major cause of influence of software efforts like development method, programming language, the experience of programmers and types of applications. Several techniques are available to measure software efforts are expert judgment, empirical techniques, machine learning techniques, and regression techniques, algorithmic models like COCOMO, analogy based effort estimation technique (Shepperd & Schofield, 1997). Different technique is suitable for different condition and no available technique is best for all situations (Elish et al., 2013; Shepperd & Kadoda, 2001). Abdelali et al. (2019) have used Random Forest for software effort estimation. They have used three datasets of promise repository named ISBSG R8, Tukutuku and COCOMO and it was found that random forest has good accuracy in terms of Pres(0.25), MMRE and MdMRE. Zare et al. (2016). have presented a Bayesian network-based model for software effort(person-month) estimation. Genetic Algorithm and Particle swarm optimization are used to estimate optimal coefficients of efforts. COCOMO NASA dataset. Fumin et al. (2017) have presented an incremental approach based on AdaBoost and Classification and Regression Tree(ABCART). GItHub is used to obtain real-life data for software effort estimation. They evaluated personnel metrics and showed that the personnel factor improved the estimation of efforts. In recent years different types of intelligence techniques and hybrid techniques are used in different domains of software engineering. Bharathi & Selvarani (2019) have used computational intelligence techniques for Software reliability assessment in a safety-critical system. Pandey & Banerjee, (2019) have used hybrid optimization algorithms for test suite optimization.

Complete Article List

Search this Journal:
Volume 16: 1 Issue (2024)
Volume 15: 1 Issue (2023)
Volume 14: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 13: 4 Issues (2021)
Volume 12: 4 Issues (2020)
Volume 11: 4 Issues (2019)
Volume 10: 4 Issues (2018)
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing