A class of hybrid multilayer perceptrons for software development effort estimation problems
Introduction
Softwares have been developed to solve problems in several fields from human knowledge. High quality, delivery within deadline and costs within budget represent some of the main challenges for the development process of any software (Araújo, Oliveira, Soares, Meira, 2012c, Xu, Khoshgoftaar, 2004). Failures in these tasks can arise due to absence of project management before and after the project’ start (Muzaffar, Ahmed, 2010, Wittig, Finnie, 1997).
In this context, the estimation of software development effort represents one of the main issues to be solved in project management, because its overestimation implies in bidding loss, as well as its underestimation implies in delay and cost over-run, leading to project failure (Moosavi, Bardsiri, 2017, Wen, Li, Lin, Hu, Huang, 2012). Therefore, effort estimation is a fundamental step in early stages of the software’s development life cycle (Nassif, Azzeh, Capretz, & Ho, 2016). It is believed that failures in the estimation of software development effort have implied in annual losses around USD 75 billions only for the United States’ economy (Oliveira, Braga, Lima, Cornelio, 2010, Wen, Li, Lin, Hu, Huang, 2012).
Several approaches have been proposed in the literature trying to build a mapping able to represent the relationship between effort and software attributes: i) radial basis function neural network (Nassif, Azzeh, Capretz, Ho, 2016, Oliveira, 2006, Shin, Goel, 2000), ii) linear regression (Finnie, Wittig, Desharnais, 1997, Jorgensen, 2004, Oliveira, 2006), iii) support vector regression (Corazza, Martino, Ferrucci, Gravino, Sarro, Mendes, 2013, Oliveira, 2006, Oliveira, Braga, Lima, Cornelio, 2010), iv) multilayer perceptrons (Braga, Oliveira, Meira, 2007, Finnie, Wittig, Desharnais, 1997, Nassif, Azzeh, Capretz, Ho, 2016, Oliveira, Braga, Lima, Cornelio, 2010, Wittig, Finnie, 1997), v) regression trees (Braga, Oliveira, Meira, 2007, Oliveira, Braga, Lima, Cornelio, 2010), vi) bagging predictors (Braga et al., 2007), vii) neuro-fuzzy model (Huang, Ho, Ren, & Capretz, 2007), viii) fuzzy regression trees (Andreou & Papatheocharous, 2008), ix) wavelet neural network (Kumar, Ravi, Carr, & Kiran, 2008), x) multiple additive regression trees (Elish, 2009), xi) ensemble of neural networks with associative memory (Kultur, Turhan, & Bener, 2009), xii) shift-invariant morphological model (Araújo, Oliveira, & Meira, 2011), xiii) evolutionary feature selection method for prediction models (Oliveira et al., 2010), xiv) fuzzy logic models (Muzaffar, Ahmed, 2010, Xu, Khoshgoftaar, 2004), xv) morphological model (Araújo, 2012, Araújo, Oliveira, Soares, Meira, 2012c), xvi) evolutionary fuzzy models (Reddy & Hari, 2011), xvii) general regression neural network (Nassif et al., 2016), xviii) cascade correlation neural network (Nassif et al., 2016), hybrid evolutionary neuro-fuzzy model (Moosavi & Bardsiri, 2017), amongst other.
However, even with several models proposed in the literature to solve such problem, an expressive percentage of software projects are canceled (Group, 2004, Moosavi, Bardsiri, 2017, Nassif, Azzeh, Capretz, Ho, 2016, Oliveira, 2006, Oliveira, Braga, Lima, Cornelio, 2010, Wen, Li, Lin, Hu, Huang, 2012). The main reason for that are failures in software development effort estimation, which still remains an ongoing challenge for the project management field (Group, 2004, Jorgensen, 2004, Moosavi, Bardsiri, 2017, Nassif, Azzeh, Capretz, Ho, 2016, Oliveira, 2006, Oliveira, Braga, Lima, Cornelio, 2010). In this sense, the development of models for improving performance for effort estimation may be essential to assure software companies’ competitiveness (Araújo, Oliveira, Soares, Meira, 2012c, Corazza, Martino, Ferrucci, Gravino, Sarro, Mendes, 2013, Moosavi, Bardsiri, 2017, Nassif, Azzeh, Capretz, Ho, 2016, Oliveira, Braga, Lima, Cornelio, 2010).
Recently, a particular artificial neural network, called the morphological neural network (MNN) (Davidson, 1991, Davidson, Ritter, 1990, Davidson, Talukder, 1993, Ritter, Sussner, 1996), has been presented in the literature as solution for a relevant set of problems (Araújo, Oliveira, Meira, 2015, Esmi, Sussner, Bustince, Fernandez, 2014, Jamshidi, Kaburlasos, 2014, na, Chyzhyk, 2016). In this context, it is worth mentioning a hybrid morphological-linear processing unit, called the dilation-erosion-linear perceptron (DELP) (Araújo, Oliveira, Meira, 2012a, Araújo, Oliveira, Meira, 2012b), which was recently presented in the literature to deal with some prediction problems. It uses a combination between a hybrid morphological operator (given by a mix between dilation and erosion operators) and a linear operator.
Nevertheless, Araújo et al. (Araújo, Oliveira, Meira, 2012a, Araújo, Oliveira, Meira, 2012b) argue that only one processing unit is not able to produce mappings to solve tasks with complex input-output relationships from software development effort estimation problems, and this is the main drawback of the DELP model. In this sense, as future work, (Araújo, Oliveira, Meira, 2012a, Araújo, Oliveira, Meira, 2012b) have suggested the development of a neural network with multilayer structure using the DELP as fundamental processing unit to overcome these limitations.
In this sense, we intend to extend ideas presented by Araújo et al. (Araújo, Oliveira, Meira, 2012a, Araújo, Oliveira, Meira, 2012b) to a multilayer structure, called the multilayer dilation-erosion-linear perceptron (MDELP), to deal with software development effort estimation problems. Each processing unit within MDELP structure is represented by a mix between a hybrid morphological operator and a linear operator, followed by an activation function. Based on ideas from Pessoa and Maragos (Pessoa & Maragos, 2000), a descending gradient-based learning process is presented to train the MDELP model, where an smoothed rank-based approach is employed to overcome the nondifferentiability problem of hybrid morphological operator.
Furthermore, we conduct an experimental analysis with the proposed model using a relevant set of software development effort estimation problems (Albrecht, Cocomo, Desharnais, Kemerer, Kotengray and Nasa datasets), where MMRE and PRED25 measures are used to assess performance regarding classical and state of the art models presented in the literature.
This work is organized as follows. Section 2 presents the fundamentals of the software development effort estimation problem. Section 3 presents the formal definition of the proposed model. Section 4 presents the descending gradient-based learning process to train the proposed model. Section 5 presents simulations and experimental results. At the end, in Section 6, we present final remarks of this work.
Section snippets
The effort estimation problem
A software development effort estimation problem can be represented by a database built with features (usually related to products, processes and resources) from previous software projects (Finnie et al., 1997). According to Araújo (Araújo, 2012), the estimation (or prediction) term is applied when it used to predict a future attribute value, which is given by the effort, in terms of programmers-by-month, to conclude the software development or the time to deliver the product.
In this sense,
The proposed model
The model presented in this work, called the multilayer dilation-erosion-linear perceptron (MDELP), has a multilayer feed-forward architecture with processing units composed of a balanced combination between a hybrid morphological operator (dilation-erosion operator) and a linear operator, followed by an activation function. Notice that the proposed model is inspired on morphological-rank-linear neural network, originally proposed by Pessoa and Maragos (Pessoa & Maragos, 2000). Nevertheless,
The proposed learning process
The design of the MDELP requires the adjustment of an weight vector defined by in which and with L representing the amount of layers.
The descending gradient-based learning process proposed in this paper is a supervised training process to adjust the weight vector, which uses an error criterium in terms of a cost function J, given by in which with where M is the amount of training
Simulations and experimental results
A relevant set of software development effort estimation problems (Albrecht, Cocomo, Desharnais, Kemerer, KotenGray and Nasa) was used as a test bed for evaluation of the proposed MDELP. All datasets were normalized to lie within range [0,1]. Trying to establish a performance study, we compare our results with those obtained with linear regression (LINREG) (Kim, 2008, Oliveira, 2006), logistic regression (LOGREG) (Louzada, Ferreira-Silva, & Diniz, 2012), multilayer perceptrons (MLP) (Moosavi,
Conclusions
In this paper we have developed a hybrid multilayer perceptron to solve software development effort estimation problems. Each processing unit of the proposed model is composed of a mix between a hybrid morphological operator and a linear operator, followed by a sigmoid activation function. Also, a gradient-based learning process using the back-propagation algorithm was presented to train the proposed model, where an smoothed rank-based approach was used to overcome the nondifferentiability
References (65)
Hybrid morphological methodology for software development cost estimation
Expert Systems with Applications
(2012)- et al.
A shift-invariant morphological system for software development cost estimation
Expert Systems with Applications
(2011) - et al.
An evolutionary morphological approach for software development cost estimation
Neural Networks
(2012) - et al.
A hybrid model for high-frequency stock market forecasting
Expert Systems with Applications
(2015) - et al.
Decomposition of mappings between complete lattices by mathematical morphology, part 1. general lattices
Signal Processing
(1993) Improved estimation of software project effort using multiple additive regression trees
Expert Systems with Applications
(2009)- et al.
A comparison of software effort estimation techniques: Using function points with neural networks, case-based reasoning and regression models
Journal of Systems and Software
(1997) - et al.
gsainknn: A {GSA} optimized, lattice computing knn classifier
Engineering Applications of Artificial Intelligence
(2014) Regression models of software development effort estimation accuracy and bias
Empirical Software Engineering
(2004)- et al.
Ensemble of neural networks with associative memory (enna) for estimating software development costs
Knowledge Based Systems
(2009)
Software development cost estimation using wavelet neural networks
Journal of Systems and Software
Random Sets and Integral Geometry
Image understanding applications of lattice autoassociative memories
IEEE Transactions on Neural Networks and Learning Systems
Estimation of software project effort with support vector regression
Neurocomputing
Ga-based method for feature selection and parameters optimization for machine learning regression applied to software effort estimation
Information and Software Technology
Neural networks with hybrid morphological rank linear nodes: a unifying framework with applications to handwritten character recognition
Pattern Recognition
Proben1: A set of Neural Network Benchmark Problems and Benchmarking Rules
Technical Report 21/94
Image analysis and mathematical morphology
Image analysis and mathematical morphology, volume 2: theoretical advances
Grayscale morphological associative memories
IEEE Transactions on Neural Networks
Comparing individual means in the analysis of variance
Biometrics
Identification of fuzzy models of software cost estimation
Fuzzy Sets and Systems
Software cost estimation using fuzzy decision trees
Proceedings of the twenty-third IEEE/ACM international conference on automated software engineering
A dilation-erosion-linear perceptron for bovespa index prediction
In Proceedings of the international conference on intelligent data engineering and automated learning
A hybrid model for s&p500 index forecasting
In Proceedings of the international conference on artificial neural networks
An increasing hybrid morphological-linear perceptron with pseudo-gradient-based learning and phase adjustment for financial time series prediction
In Proceedings of the IEEE international joint conference on neural networks
Lattice theory
Software effort estimation using machine learning techniques with robust confidence intervals
Proceedings of the IEEE international conference on tools with artificial intelligence (ICTAI)
Using tabu search to configure support vector regression for effort estimation
Empirical Software Engineering
Minimax algebra and applications
Template learning in morphological neural nets
Image algebra and morphological image processing II
A theory of morphological neural networks
Proc. SPIE
Cited by (23)
Advancement from neural networks to deep learning in software effort estimation: Perspective of two decades
2020, Computer Science ReviewA deep increasing–decreasing-linear neural network for financial time series prediction
2019, NeurocomputingCitation Excerpt :The proposed model in this work, called the deep increasing–decreasing-linear perceptron (DIDLP), has a deep layer architecture composed of increasing–decreasing-linear processing units given by a combination between a hybrid nonlinear morphological operator (an increasing–decreasing operator) and a linear operator (classical perceptron), followed by an activation function. It is worth mentioning that the proposed model is inspired by previous neural architectures proposed by Pessoa and Maragos [36] and de A. Araújo et al. [8,9]. However, instead of the use of morphological-rank-linear or dilation-erosion-linear processing units, respectively, we use increasing–decreasing-linear processing units.
Evaluation of estimation in software development using deep learning-modified neural network
2023, Applied Nanoscience (Switzerland)Software Measurements Using Machine Learning Techniques-A Review
2023, Recent Advances in Computer Science and CommunicationsSoftware Effort Estimation Development from Neural Networks to Deep Learning Approaches
2022, Journal of Cases on Information Technology