Experimental Analysis of Effort Estimation Using Artificial Neural Network

Similar documents
Software Effort Estimation with Different Artificial Neural Network

Prediction of software development effort estimation using neural networks

Proposing a New Software Cost Estimation Model Based on Artificial Neural Networks

Genetic Algorithm for Optimizing Neural Network based Software Cost Estimation

Keywords Effort Estimation, Neural Networks, PNN, GRNN, Data Mining Techniques

Amanullah Dept. Computing and Technology Absayn University Peshawar Abdus Salam

Research Paper on Software Cost Estimation Using Fuzzy Logic

Analysis Of the Techniques for Software Cost Estimation

Software Development Effort Estimation Using Fuzzy Logic: A Review

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) EFFORT ESTIMATION USING A SOFT COMPUTING TECHNIQUE

PCA and SOM based Dimension Reduction Techniques for Quaternary Protein Structure Prediction

A Comparison of Different Model Selection Criteria for Forecasting EURO/USD Exchange Rates by Feed Forward Neural Network

Comparison and evaluation of data mining techniques with algorithmic models in software cost estimation

Comparison of Artificial Neural Network and Regression Models in Software Effort Estimation

Anticipating milk yield using artificial neural network

A hybrid approach artificial bee colony optimization and k-means clustering for software cost estimation

IJSRD - International Journal for Scientific Research & Development Vol. 4, Issue 03, 2016 ISSN (online):

EFFECT OF TRAINING DATASET LENGTH ON THE PERFORMANCE OF ARTIFICIAL NEURAL NETWORK MODEL

Optimized Fuzzy Logic Based Framework for Effort Estimation in Software Development

A CRITIQUE ON SOFTWARE COST ESTIMATION

CHAPTER 3 FUZZY LOGIC BASED FRAMEWORK FOR SOFTWARE COST ESTIMATION

Analysis of Boiler Operational Variables Prior to Tube Leakage Fault by Artificial Intelligent System

Code Clone Detection Using COCOMO-1

Keywords - Effort Estimation, Fuzzy Logic, Genetic Programming, Particle Swarm Optimization, MMRE.

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

DEVELOPMENT OF A NEURAL NETWORK MATHEMATICAL MODEL FOR DEMAND FORECASTING IN FLUCTUATING MARKETS

Structural Damage Detection Using Randomized Trained Neural Networks for Evaluation of Quality of Production Line

Software Effort Estimation using Radial Basis and Generalized Regression Neural Networks

Wastewater Effluent Flow Control Using Multilayer Neural Networks

Journal of Asian Scientific Research PREDICTION OF MECHANICAL PROPERTIES OF TO HEAT TREATMENT BY ARTIFICIAL NEURAL NETWORKS

ANeuroFuzzyAlgorithmtoComputeSoftwareEffortEstimation

Improving the Accuracy of COCOMO II Using Fuzzy Logic and Local Calibration Method

Forecasting erratic demand of medicines in a public hospital: A comparison of artificial neural networks and ARIMA models

Software Development Effort Estimation by Using Neural Networks A Case Study

Artificial Neural Network Modeling for Predicting Compaction Parameters based on Index Properties of Soil

Applying Machine Learners to GUI Specifications in Formulating Early Life Cycle Project Estimations

An Application of Neural Networks in Market Segmentation

Modified Genetic Algorithm-Simulated Annealing Based Software Effort and Cost Estimation

Short-term electricity price forecasting in deregulated markets using artificial neural network

SOFTWARE DEVELOPMENT PRODUCTIVITY FACTORS IN PC PLATFORM

CONCRETE MIX DESIGN USING ARTIFICIAL NEURAL NETWORK

Application of Intelligent Methods for Improving the Performance of COCOMO in Software Projects

Drug Discovery in Chemoinformatics Using Adaptive Neuro-Fuzzy Inference System

International Journal of Industrial Engineering Computations

Artificial Neural Networks: A Non-Linear Tool for Air Quality Modeling and Monitoring

Framework for estimating reliability of COTS component based upon Hierarchical Model for Reliability Estimation (HMRE)

+ Evaluation Technology of Software Reliability by using the BP Neural Network

An Adaptive Approach for Software Cost Estimation using Hybrid Model

Optimization of Plastic Injection Molding Process by Combination of Artificial Neural Network and Genetic Algorithm

Software Effort Estimation: A Survey of Well-known Approaches

A Data-driven Prognostic Model for

WATER QUALITY PREDICTION IN DISTRIBUTION SYSTEM USING CASCADE FEED FORWARD NEURAL NETWORK

A Comparative evaluation of Software Effort Estimation using REPTree and K* in Handling with Missing Values

Predictive Analytics Using Support Vector Machine

Modeling and Prediction of Shell and Tube Heat Exchanger Performance using ANN

Artificial Neural Network Analysis of the Solar-Assisted Heat Pumps Performance for Domestic Hot Water Production

Artificial Neural Networks for predicting cooling load in buildings in tropical countries

Management of Software Engineering. Ch. 8 1

2013, IJARCSSE All Rights Reserved Page 229

Neural Networks and Applications in Bioinformatics. Yuzhen Ye School of Informatics and Computing, Indiana University

An Investigation into the Suitability of k-nearest Neighbour (k-nn) for Software Effort Estimation

Keywords COCOMO model, cost estimation, genetic algorithm, ant colony optimization.

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

MODELLING STUDIES BY APPLICATION OF ARTIFICIAL NEURAL NETWORK USING MATLAB

Neural Networks and Applications in Bioinformatics

3. PROPOSED MODEL. International Journal of Computer Applications ( ) Volume 103 No.9, October 2014

INTERNATIONAL JOURNAL OF RESEARCH SCIENCE & MANAGEMENT

A FEATURE SELECTION BASED RELIEF ALGORITHM WITH FUZZY LOGIC FOR SOFTWARE EFFORT ESTIMATION

DUKE, STEPHEN OROK OKOR AND OBIDINNU, JULIUS NWAFILI

Estimation of pesticides usage in the agricultural sector in Turkey using Artificial Neural Network (ANN)

International Journal of Scientific & Engineering Research, Volume 5, Issue 9, September ISSN

AWERProcedia Information Technology & Computer Science

Study of Pile Cap Lateral Resistance using Artificial Neural Networks

ANALYSIS OF FACTORS CONTRIBUTING TO EFFICIENCY OF SOFTWARE DEVELOPMENT

SEISMIC ATTRIBUTES SELECTION AND POROSITY PREDICTION USING MODIFIED ARTIFICIAL IMMUNE NETWORK ALGORITHM

Natural Gas Market Prediction via Statistical and Neural Network Methods

Job shop flow time prediction using neural networks

Performance prediction of a thermal system using Artificial Neural Networks

ADAPTIVE NEURO FUZZY INFERENCE SYSTEM FOR MONTHLY GROUNDWATER LEVEL PREDICTION IN AMARAVATHI RIVER MINOR BASIN

Development and implementation of Intelligent Soot Blowing Optimization System for TNB Janamanjung

SOFTWARE EFFORT AND SCHEDULE ESTIMATION USING THE CONSTRUCTIVE COST MODEL: COCOMO II

On the Problem of Attribute Selection for Software Cost Estimation: Input Backward Elimination Using Artificial Neural Networks

ANN-Based Sizing of Battery Storage in a StandAlone PV System

Software Cost Estimation Using Data Mining:Review

Prediction of Success or Failure of Software Projects based on Reusability Metrics using Support Vector Machine

A Review of Agile Software Effort Estimation Methods

Prediction of Cost of Quality Using Artificial Neural Network In Construction Projects

A Short-Term Bus Load Forecasting System

Evaluating Adaptive Customer Strategies in TAC SCM

Energy Forecasting using Artificial Neural Networks

Artificial Neural Network Model Prediction of Glucose by Enzymatic Hydrolysis of Rice Straw

Measure Performance of VRS Model using Simulation Approach by Comparing COCOMO Intermediate Model in Software Engineering

A Multi-Period MPS Optimization Using Linear Programming and Genetic Algorithm with Capacity Constraint

Embed Deep-Learning Techniques into Predictive Modeling

Software Project Risk Assessment and Effort Contingency Model Based on COCOMO Cost Factors

CONNECTING CORPORATE GOVERNANCE TO COMPANIES PERFORMANCE BY ARTIFICIAL NEURAL NETWORKS

Resource Decisions in Software Development Using Risk Assessment Model

Artificial Neural Network Modeling of an Inverse Fluidized Bed Bioreactor *RAJASIMMAN, M, GOVINDARAJAN, L, KARTHIKEYAN, C

Comparative Study on Prediction of Fuel Cell Performance using Machine Learning Approaches

Condition Assessment of Power Transformer Using Dissolved Gas Analysis

Transcription:

International Journal of Electronics and Computer Science Engineering 1817 Available Online at www.ijecse.org ISSN- 2277-1956 Experimental Analysis of Effort Estimation Using Artificial Neural Network Anjana Bawa 1 2, Mrs.Rama Chawla 1 2 Department of Computer Sciences and Engineering 1 D.V.I.E.T Karnal, kurukshetra University 2 D.V.I.E.T Karnal, kurukshetra University 1 Email- er.anjana@gmail.com Abstract- Failures of software are mainly due to the faulty project management practices, which include effort estimation. Continuous changing scenarios of software development technology make effort estimation more challenging. Accurate software cost estimates are critical to both developers and customers. They can be used for generating request for proposals, contract negotiations, scheduling, monitoring and control. The exact relationship between the attributes of the effort estimation is difficult to establish. A neural network is good at discovering relationships and pattern in the data. So, in this paper we will discuss how we predict the effort using Neural Network learning techniques and a comparative analysis of different ANNs in effort estimation. Keywords Algorithmic models, Effort Estimation, SLOC. I. INTRODUCTION In recent years, the developments of large-scale software projects gain a growing interest. Being able to define, the software size, the development duration and the required facilities became more and more a challenging task. The reason is software architecture, requirements, tools and techniques became more complex. Software estimates are the basis for project bidding, budgeting and planning. These are critical practices in the software industry, because poor budgeting and planning often has dramatic consequences. When budgets and plans are too pessimistic, business opportunities can be lost, while over-optimism may be followed by significant losses. Software effort estimation is the process of predicting the most realistic use of effort required to develop or maintain software. Effort estimates are used to calculate effort in person-months (PM) for the Software Development work elements of the Work Breakdown Structure (WBS). Accurate Effort Estimation is important because: It can help to classify and prioritize development projects with respect to an overall business plan. It can be used to determine what resources to commit. It can be used to assess the impact of changes and support re-planning. Projects can be easier to manage and control when resources are better matched to real needs. Customers expect actual development costs to be in line with estimated costs. 1.1 Algorithmic models Algorithmic models (AM) calibrate pre-specified formulas for estimating development effort from historical data. Inputs to these models may include the experience of the development team, the required reliability of the software, the programming language in which the software is to be written, and an estimate of the final number of delivered source lines of code (SLOC). Basically algorithmic model is formula based model which takes historical cost information and which is based on the size of the software. Algorithmic model includes two most popular models used as follows: a) COCOMO model b) Putnam s model and slim 1.2 ANN in Effort Estimation

IJECSE,Volume1,Number 3 Anjana Bawa and Mrs.Rama Chawla 1818 Artificial Neural Network is used in effort estimation due to its ability to learn from previous data. It is also able to model complex relationships between the dependent (effort) and independent variables (cost drivers). In addition, it has the ability to generalize from the training data set thus enabling it to produce acceptable result for previously unseen data. Most of the work in the application of neural network to effort estimation made use of cascade correlation and Back-propagation algorithm. Artificial Neural Network (ANN) is a massively parallel adaptive network of simple nonlinear computing elements called Neurons, which are intended to abstract and model some of the functionality of the human nervous system in an attempt to partially capture some of its computational strengths. An artificial neural network comprises of eight basic components: (i)neurons, (ii)activation function, (iii)signal function, (iv)pattern of connectivity, (v)activity aggregation rule, (vi) activation rule, (vii) learning rule and (viii)environment. Figure 1. Architecture of an artificial neuron After an ANN is created it must go through the process of learning or training. The process of modifying the weights in the connections between network layers with the objective of achieving the expected output is called training a network. There are two approaches for training supervised and unsupervised.in supervised training, both the inputs and the outputs are provided. The network then processes the inputs, compares its resulting outputs against the desired outputs and error is calculated. In unsupervised training, the network is provided with inputs but not with desired outputs. The system itself must then decide what features it will use to group the input data. Most of the work in the application of neural network to effort estimation made use of Back-propagation algorithm and cascade correlation. Many different models of neural nets have been proposed for solving many complex real life problems. The 7 steps for effort estimation using ANN can be summarized as follows: 1. Data Collection: Collect data for previously developed projects like LOC, method used, and other characteristics. 2. Division of dataset: Divide the number of data into two parts training set & validation set. 3. ANN Design: Design the neural network with number of neurons in input layers same as the number of characteristics of the project. 4. Training: Feed the training set first to train the neural network. 5. Validation: After training is over then validate the ANN with the validation set data. 6. Testing: Finally test the created ANN by feeding test dataset.

Experimental Analysis of Effort Estimation Using Artificial Neural Network 1819 7. Error calculation: Check the performance of the ANN. If satisfactory then stop, else again go to step (3) make some changes to the network parameters and proceed. Once the ANN is ready, simulation with the ANN can be conducted with the parameter of any new project and it will output the estimated effort for that project. 2.1 Experimental Setup 2.1.1 Data II. PROPOSED ALGORITHM Results in neural networks will be calculated by taking historical data of 50 projects which is divided into three parts: 20 projects data for training the network, 10 projects for validating the network and 10 projects for testing the network. Table 2.1: Data used for training the Neural Network PROJECT NO. SIZE EFFORT 1 4.20 9.00 2 5.00 8.40 3 7.80 7.30 4 9.700 15.60 5 12.50 23.90 6 12.80 18.90 7 20 73.0 8 24 49.3 9 28 65.8 10 29 40.1 11 30 32.2 12 31.10 39.60 13 35 52.6 14 39 72.0 15 40 27.0 16 41 95.5 17 46.60 96.00 18 46.50 79.00 19 52 58.6 20 57 71.1 Table 2.2: Data used for validating the Neural Network PROJECT NO. SIZE EFFORT 31 2.10 5.00 32 3.10 7.00 33 21.50 28.50 34 22 19.1 35 54 138.8 36 54.50 90.80 37 62 189.5 38 67.50 98.40 39 318 692.1 40 450 1107.3 Table 2.3: Data used for testing the Neural Network PROJECT NO. SIZE EFFORT 41 10.50 10.30 42 42 78.9 43 44 23.2 44 48 84.9 45 50 84.0 46 78.60 98.7 47 130 673.7 48 165 246.9 49 200 130.3 50 214 86.9 2.1.2 Experimental parameters Parameters used for performing the operation in neural networks are as follows:

IJECSE,Volume1,Number 3 Anjana Bawa and Mrs.Rama Chawla 1820 Table 2.4: Parameters for Neural Networks learning algorithms in Neural Network Tool of MATLAB Parameters Back-Propagation Learning Algorithms Cascade Correlation Learning Algorithms Network Type Feed-forward backprop Cascade-forward backprop Training function TRAINLM TRAINLM Performance function MSE MSE Number of neurons 2 2 Transfer function PURELIN PURELIN No. of epochs 46 46 III. Experiment and Result 3.1 Evaluations of Results In this section we will analyze the results of neural network learning algorithms i.e. Back-propagation learning Algorithms, Cascade Correlation learning algorithms and COCOMO Model of software engineering. Matlab 7.0 software platform is use to perform the experiment. Comparison of these cost prediction techniques will be done on the basis of results evaluated and then values of RMSE and MMRE will be calculated and compared. 3.1.1 Comparison of Different Cost Prediction Techniques In this section effort using COCOMO Model and Neural Network learning algorithms will be compared. Values are given in the following table: Table 3.1: Comparison between COCOMO Model, Back-propagation learning algorithm and Cascade Correlation learning algorithm Project No. Size (KLOC) Actual Effort COCOMO Model Back-Propagation Cascade Correlation 41 10.5 10.3 28.3 18.5 16.6 42 42 78.9 121.5 67.83 79.13 43 44 23.2 127.6 70.89 83.45 44 48 84.9 139.8 74.95 81.84 45 50 84 145.9 76.01 80.59 46 78.6 98.7 234.6 72.301 84.26 47 130 673.7 398 170.72 267.9 48 165 246.9 511.2 317.97 245.96 49 200 130.3 625.6 410.79 223.66 50 214 86.9 671.6 396 214.73

Experimental Analysis of Effort Estimation Using Artificial Neural Network 1821 Figure 3.1 Comparison of COCOMO Model, Back-propagtion and Cascade Correlation learning algorithms Above graph shows that effort calculated using Cascade Correlation learning algorithm,back-propogation and COCOMO Model.The result of the three shows that the cascade correlation is nearest to the actual effort as compared to other effort estimation techniques. 3.1.2 Error Prediction of Different Effort Estimation Techniques In this section error will be calculated between different effort estimation Techniques and the actual effort. To calculate the error following formule will be used: = Where E rror is the output error, E is the actual effort, E is the estimated effort So the formule used for COCOMO Model,Back-propagation and cascade correlation wil be 1 = 2 = 3 = Where E is the actual effort, E 1 error of COCOMO Model E coc is the estimated effort using COCOMO Model E 2 error of Back-propagation learning algorithm E back is the estimated effort using Back-propagation learning E 3 error of Cascade Correlation learning algorithm E casc is the estimated effort using Cascade Correlation learning. Table 3.2 Output error of different effort estimation Techniques

IJECSE,Volume1,Number 3 Anjana Bawa and Mrs.Rama Chawla 1822 Project No. Size COCOMO Back- Cascade Actual Effort (KLOC) Model(E 1 ) Propagation(E 2 ) Correlation(E 3 ) 41. 10.5 10.3 18 8.20 6.2923 42. 42 78.9 42.6 11.07 0.22766 43 44 23.2 104.4 47.70 60.2523 44. 48 84.9 54.9 9.95 3.0598 45. 50 84 61.9 7.99 3.4101 46. 78.6 98.7 135.9 26.40 14.14 47. 130 673.7 275.7 502.98 405.818 48. 165 246.9 264.3 71.07 0.94078 49. 200 130.3 495.3 280.49 93.3566 50. 214 86.9 584.7 309.10 127.835 Mean 203.8 127.5 71.5 These error values will be used to calculate the RMSE and MMRE as follows: = ( ( ( (( )! ) " ))) = (( ( ( )! /!)) Where N is total number of projects Table 3.3 Performance Evaluation of COCOMO, Back-propagation and Cascade Correlation learning algorithms Performance Criteria COCOMO Model Back- propagation Cascade Correlation RMSE 277.74 208.71 139.15 MMRE 2.1557 1.1072 0.6228 Following graphs shows the comparison using RMSE(Root Mean Square Error). Figure 3.2 Comparison using RMSE Following graphs shows the comparison using MMRE(Mean Magnitude Relative Error) of different effort estimation techniques.

Experimental Analysis of Effort Estimation Using Artificial Neural Network 1823 Figure 3.3 Comparison using MMRE Comparison using RMSE and MMRE shows that Cascade Correlation is better than Back-propagtion and COCOMO Model. Accuracy is high in the Cascade Correlation. IV. CONCLUSION Estimation is one of the crucial tasks in software project management. To produce a better estimate, we must improve our understanding of these project attributes and their causal relationships, model the impact of evolving environment, and develop effective ways of measuring software complexity. Here three most popular approaches were suggested to predict the software effort estimation. In one hand COCOMO which has been already proven and successfully applied in the software effort estimation field and in other hand the Back-propagation learning algorithm and cascade-correlation learning algorithm in Neural Network that has been extensively used in lieu of COCOMO estimation and have demonstrated their strength in predicting problem. To get accurate results the neural network depends only on adjustments of weights from hidden layer of network to output layer of neural network. We have used the 50 projects data set to validate, train and simulate the network. This simulation with dataset has been carried out using Matlab NN tool box. All for ANN are trained using trainlm algorithm. After testing the network it is concluded that learning algorithms of neural network perform better then the COCOMO model and from learning algorithms Cascade correlation performs better then the Back-propagation learning algorithm. It has less error values, so accuracy is high in Cascade Correlation. The results from our simulation shows that Cascade feed- forward neural network give the best performance, among all. V. REFERENCE [1] Ch. Satyananda Reddy, P. Sankara Rao, KVSVN Raju, V. Valli Kumari, A New Approach For Estimating Software Effort Using RBFN Network, IJCSNS International Journal of Computer Science and Network Security, VOL.8 No. 7,July 2008 [2] Bilge Başkeleş, Burak Turhan, Ayşe Bener Department of Computer Engineering, Boğaziçi University, Software Effort Estimation Using Machine Learning Methods, 2007 IEEE computer society [3] S. Kanmani, J. Kathiravan, S. Senthil Kumar and M. Shanmugam, Neural Networks Based Effort Estimation using Class Points for OO Systems,IEEE proceedings of the International Conference on Computing: Theory and Applications(ICCTA 2007) [4] Nasser Tadayon, Neural Network Approach for Software Cost Estimation, IEEE proceedings of the International Conference on Information Technology: Coding and Computing (ITCC 2005) [5] Konstantinos Adamopoulos, Application of Back Propagation Learning Algorithms on Multilayer Perceptrons, Department of Computing May 2000. [6] Christopher M. Fraser, Neural Networks: A Review from a Statistical Perspective, Hayward Statistics(2000)

IJECSE,Volume1,Number 3 Anjana Bawa and Mrs.Rama Chawla 1824 [7] Kiyoshi Kawaguchi, Backpropagation Learning Algorithm, Wikipedia.org, June 2000. [8] Hareton Leung, Zhang Fan, Software Cost Estimation, Department of Computing, Hong Kong, 1999 [9] Clark, B., Chulani, S. and Boehm, B. (1998), Calibrating the COCOMO II Post Architecture Model, International Conference on Software Engineering, Apr.1998. [10] Cascade Correlation Architecture and Learning Algorithms for Neural Networks, Wikipedia.org, Nov. 1995 [11] K. Srinivasan and D. Fisher, Machine learning approaches to estimating software development effort, IEEE Trans. Soft. Eng., vol.21, no.2, Feb. 1995, pp. 126-137. [12] Christos Stergiou and Dimitrios Siganos, Neural Networks,1995 [13] S.E. Fahlman and C. Lebiere, The cascade-correlation learning architecture,technical Report CMU-CS-90-100, Carnegie Mellon University, 1990. [14] Bisio, and F. Malabocchia Cost estimation of software projects through case base reasoning, 1st Intl. Conf. on Case-Based Reasoning Research & Development, Springer-Verlag, 1995, pp.11-22.