Subscribe Now Subscribe Today
Research Article
 

A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization



CH.V.M.K. Hari and P.V.G.D. Prasad Reddy
 
Facebook Twitter Digg Reddit Linkedin StumbleUpon E-mail
ABSTRACT

The basic goal of project planning is to look into the future, identify the activities that need to be done to complete the project successfully and plan scheduling and resource allocation for these activities. Software effort estimation is the most important activity in project planning. So far many models are proposed by using machine learning algorithms, but no model is proved successful for efficiently and consistently predicting the effort. In this study we proposed two models using particle swarm optimization (PSO) with Constriction Factor for fine tuning of parameters of the constructive cost model (COCOMO) effort estimation. The models deals efficiently with imprecise and uncertain input and enhances the reliability of software effort estimation. The experimental part of the study illustrates the approach and contrast it with the standard numeric version of the COCOMO, standard singal variable models, Triangular Membership Function and Gbell function Models.

Services
Related Articles in ASCI
Search in Google Scholar
View Citation
Report Citation

 
  How to cite this article:

CH.V.M.K. Hari and P.V.G.D. Prasad Reddy, 2011. A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization. Journal of Software Engineering, 5: 38-48.

DOI: 10.3923/jse.2011.38.48

URL: https://scialert.net/abstract/?doi=jse.2011.38.48
 
Received: December 15, 2010; Accepted: February 04, 2011; Published: July 16, 2011



INTRODUCTION

Software project management activities are mainly classified into three categories: project planning, project monitoring and control and project termination. In project planning, cost estimation is one of the most important activities. Software cost estimation is the process of predicting how much amount of effort is required to build software. The effort is measured in terms of Person-Months (PM) thus later on it is converted into actual dollar-cost. The basic input parameters for software cost estimation is size, measured in KDLOC (Kilo Delivered Lines of Code). A number of models have been evolved to establish the relation between Size and Effort (Poli et al., 2007). The parameters of the algorithms are tuned using Regression Analysis (Sengupta, 2010) Genetic Algorithms (Sheta, 2006), Fuzzy models (Huang et al., 2006), Soft-Computing Techniques (Heng et al., 2006; Kaur and Singh, 2010), Computational Intelligence Techniques, Heuristic Algorithms, Neural Networks, Radial Basis and Regression (Idri et al., 2006; Jorgensen and Shepperd, 2007).

COCOMO effort estimation: Boehm (1981) derived a cost model called COCOMO (Constructive Cost Estimation Model) using data from a large set of projects at Teen Red Week TRW Software Production System (SPS) consulting firm based in California. The models are classified into:

Original COCOMO Model
COCOMO-II Model

Original COCOMO: It is a collection of three models. A basic model that is applied early in the project. An intermediate model which is applied after requirements. Advanced model is applied after design is complete.

The cost model is:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(1)

Where:

S = Size is measured in KDLOC
E = Effort in terms of person months
EAF = Effort adjustment factor (Equal to 1 for basic model)

The factors a and b depend on the development mode. Boehm (1981) has defined three development modes (Bailey and Basili, 1981)

Organic mode (for simple projects)
Semi-detached mode(for intermediate projects)
Embedded mode (for tight set of requirements, large projects)

Intermediate COCOMO: The intermediate COCOMO model computes effort as a function of program size and set of cost drivers. The intermediate COCOMO equation is:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

The parameters a, b are measured by using regression analysis and shown in Table 1, where a is the amplitude and b is the exponent.

The Effort Adjustment Factor (EAF) is calculated using 15 cost drivers (Poli et al., 2007). The cost drivers are grouped into four categories: Product, Computer, Personal and Project. Each cost driver is rated on a six-point ordinal scale ranging from low to high importance. Based on the rating an effort multiple is determined using the Table 2. The product of all effort multipliers is the EAF.

PSO with constriction factor: Another PSO (Iraj and Saleh, 2008; Sutha and Kamaraj, 2008), implementation dubbed PSO constriction coefficient was developed by Clerc (1999). Clerc modeled the particle swarm interactions using a set of complicated linear equations. Using a constriction coefficient results in particle convergence over time. That is amplitude of particle oscillations decreases as it focuses on the local neighborhood previous best points. Through the particle convergence to a point over time, the constriction coefficient also prevents a collapse if the right social conditions are in place. The particle will oscillate around the weighted mean of Pid and Pgd, if the previous best position and the neighborhood best position are far apart from each other the particle will perform an exploratory search (global search).

Table 1: Modes of projects
Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

Table 2: Effort multipliers
Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

During the search the neighborhood best position and previous best position will change and the particle will shift from local search back to global search. The constriction coefficient method therefore balances the need for local and global search depending on what social conditions are in place:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

where:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(2)

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(3)

Clerc (1999) found that by modifying φ, the convergence characteristics of the system can be controlled. Typically k = 1 and c1 =c 2 = 2 and φ is set to 4.1, then k = 0.73.

A FINE PARAMETER TUNING FOR COCOMO 81 SOFTWARE EFFORT ESTIMATION USING PSO

A typical cost model is derived using regression analysis on data collected from past software projects. In this model we tuned the parameters by using PSO with constriction factor. Effort is plotted against the primary cost factor for a series of projects. The best fit of particles is then calculated among the data points. If the primary cost factor were a perfect prediction of effort, then every particle would be on the same place with derivative of velocity. The parameters are tuned very fast by considering the constriction factor.

Model description: In this model we consider PSO with constriction factor for faster convergence of COCOMO parameters.

Methodology (Algorithm)
Input: Size of Software Projects, Measured Efforts, Effort Adjustment Factor

Output: Optimized Parameters for Estimating Effort

The following is the methodology used to tune the parameters in the proposed models for Software Effort Estimation:

Step 1: Initialize swarm coefficients and other parameters k = 1 and c1 = c2 = 2, φ = 4.1 and k = 0.73
Step 2: Initialize particles velocity and position vectors randomly. Initialize these positions and velocity are personally best (Plb)
Step 3: for i=1 to n do

Evaluate the fitness function for each particle. We consider MARE is the fitness function.

Step 4: Find the locally best position of each particle by comparing the fitness value with the old value. New value is promising, then update the locally best position (Plb)
Step 5: Find the globally best particle among all locally best particles called globally best (Pgb)
Step 6: In order to make faster convergence we consider the constriction factor which is evaluated with the following formula:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

Where:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(4)

The particles velocity and positions are updated using Plb, Pgb with the following formula:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(5)

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(6)

where, I = a,b,c.

Step 7:Step 4 to 6 are repeated until:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

If the value is < 0 satisfied then PSO with constriction model is convergent or otherwise after some number of iterations.

Step 8: Giving Gbest solution parameters as optimal solution.
Step 9: Exit

PROPOSED MODELS

Model 1: According to COCOMO the cost estimation is a function of two variables, one is size another one EAF (Cost Multipliers):

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

Now the parameters are tuned by using the above methodology.
Model 2: In order to reduce the uncertainty non linearity is existing at input level we use Biasing Effect.

So the equation is:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(7)

MODEL ANALYSIS

The velocity and position update are as follows:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

By considering the differential meta model (Zeng and Cui, 2007) for particle swarm optimization. The differential equations are:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(8)

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(9)

where, W =1 and:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(10)

The standard state system of linear equation obtained:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

Where:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

And:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

And the equations are solved as follows:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

From linear system theory if all Eigen values of matrix A have negative real part, the above equation is convergence. The Eigen equation of matrix A listed as follows:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

The roots are:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

Therefore both Eigen values of matrix A have negative real part if:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

is true.

In other words if:

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

is satisfied, it is convergent.

Finally globally best particle values are optimal tuned parameters. These parameters are used to estimate the effort of project. We have developed the above methodology for tuning parameters a, b and c in “C” Language. The performance measures we consider are MARE, VARE and VAF.

MODEL EXPERIMENTATION

For the study of these models we have taken dataset from COCOMO81 (Prasad Reddy, 2010) of 20 projects from NASA software project data are shown in Table 3. The tuning parameters for the PSO with constriction factor evolutionary process, to estimate the COCOMO model parameters are given in the Table 3.

Model 1
Experiment (without bias Function): The following are the results obtained by running the above algorithm implemented in “C”. Totally we consider 20 projects. Number of iterations 100, Number of particles considered are 50.

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

Model 2
Experiment (with bias Function): The following are the results obtained by running the above algorithm implemented in “C”. Totally we consider 20 projects. Number of iterations 100, Number of particles considered are 50.

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

Table 3: NASA software projects data (Prasad Reddy, 2010)
Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

RESULTS AND DISCUSSION

The COCOMO model was provided by Boehm (1981) was given in Eq. 1. Our goal is to use PSO with constriction factor to tune the simple COCOMO model parameters such that better software effort estimation is achieved. It is tested on COCOMO dataset provided by Bohem. Table 4 shows the actual measured efforts of our models and we explored various model estimate the software effort for all given projects using Halsted, Walston-Felix, Bailey-Basili, Doty (Sheta et al., 2008), standard COCOMO, Triangular member function and Gbell Function (Prasad Reddy, 2010).

Comparison with other models: Prasad Reddy (2010) provided a Triangular Membership function and Gbell function calculation, (Sheta et al., 2008) provided Halsted, Walston-Felix, Bailey-Basili, Doty formulas for effort estimation. Typical models for software effort estimation are as shown below (Sheta et al., 2008):

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(11)

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(12)

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(13)

Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
(14)

The measured effort and estimated efforts of various models are given in Table 4 and shows our model results are very close to the measured effort.

Table 4: Measured effort vs estimated efforts of various models
Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

PERFORMANCE ANALYSIS

The three criterions are:

Variance Accounted – For (VAF):
Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
Mean Absolute Relative Error (MARE):
Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization
Variance Absolute Relative Error (VARE):
Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

Present intention concern the development of model structures which can generalize the effort, computed for all projects under study. PSO algorithms were used to estimate the standard COCOMO variable model parameters. Two models are provided. It can be seen that the PSO with constriction factor for COCOMO 81 model outperform the Halsted, Walston-Felix, Bailey-Basili, Doty, standard COCOMO, Triangular member function and GBell Function. The computed values of MARE, VAF and VARE for all models are given in Table 5.

Table 5: Performance analysis
Image for - A Fine Parameter Tuning for COCOMO 81 Software Effort Estimation using Particle Swarm Optimization

CONCLUSION

In this study we have introduced an important generalization of the COCOMO software cost estimation model by augmenting with particle swarm optimization with constriction factor. This study is based on 53 projects, among we taken 20 projects for training and testing. The analysis based on VAF, MARE and VARE shows that PSO with constriction factor always leads to a satisfactory result. The obtained results are superior as compared to previously reported work in the literature. This work can be applied to other models of Software Cost Estimation.

REFERENCES

1:  Bailey, J.W. and V.R. Basili, 1981. A meta model for software development resource expenditures. Proceedings of the 5th International Conference on Software Engineering, (ICSE'81), IEE Explore, pp: 107-129

2:  Sheta, A.F., 2006. Estimation of the COCOMO model parameters using genetic algorithms for NASA software projects. J. Comput. Sci., 2: 118-123.
CrossRef  |  Direct Link  |  

3:  Idri, A., A. Abran and S. Mbarki, 2006. An experiment on the design of radial basis function neural networks for software cost estimation. Proceedings of the Information and Communication Technologies, (ICT'06), Damascus, pp: 1612-1617
CrossRef  |  

4:  Huang, S.J., C.V. Lin and N.H. Chiu, 2006. Fuzzy decision tree approach for embedding risk assessment information into software cost estimation model. J. Inform. Sci. Eng., 22: 297-313.
Direct Link  |  

5:  Jorgensen, M. and M. Shepperd, 2007. A systematic review of software development cost estimation studies. IEEE Trans. Software Eng., 33: 33-53.
CrossRef  |  

6:  Poli, R., J. Kennedy and T. Blackwell, 2007. Particle swarm optimization an overview. Swarm Intell., 1: 33-57.

7:  Sutha, S. and N. Kamaraj, 2008. Particle swarm optimization applications to static security enhancement using multi type facts devices. J. Artif. Intell., 1: 34-43.
CrossRef  |  Direct Link  |  

8:  Clerc, M., 1999. The swarm and the queen: Towards a deterministic and adaptive particle swarm optimization. Proceedings of the Congress on Evolutionary Computation, (CEC'99), Washington, DC., pp: 1951-1957
CrossRef  |  

9:  Prasad Reddy, P.V.G.D., 2010. Particle swarm optimization in the fine-tuning of fuzzy software cost estimation models. Int. J. Software Eng., 1: 12-22.
Direct Link  |  

10:  Boehm, B.W., 1981. Software Engineering Economics. Prentice-Hall, Englewood Cliffs, New Jersey, ISBN: 9780138221225, Pages: 767

11:  Zeng, J. and Z. Cui, 2007. Differential Meta-Model and Particle Swarm Optimization. I-Tech Education and Publishing, Vienna, Austria, pp: 101-112

12:  Sheta, A., D. Rine and A. Ayesh, 2008. Development of software effort and schedule estimation models using soft computing techniques. Proceedings of the IEEE Congress on Evolutionary Computation, June 1-6, Hong Kong, pp: 1283-1289
CrossRef  |  

13:  Sengupta, G.J., 2010. Regression testing method based on XML schema for GUI components. J. Software Eng., 4: 137-146.
CrossRef  |  Direct Link  |  

14:  Heng, X.C., Z. Qin, X.H. Wang and L.P. Shao, 2006. Research on learning bayesian networks by particle swarm optimization. Inform. Technol. J., 5: 540-545.
CrossRef  |  Direct Link  |  

15:  Kaur, K. and H. Singh, 2010. Candidate process models for component based software development. J. Software Eng., 4: 16-29.
CrossRef  |  Direct Link  |  

16:  Hassanzadeh, I. and S. Mobayen, 2008. PSO based controller design for rotary inverted pendulum system. J. Applied Sci., 8: 2907-2912.
CrossRef  |  

©  2021 Science Alert. All Rights Reserved