a new method in software cost estimation with tabu ...

4 downloads 129 Views 364KB Size Report
Therefore, for a successful software project we need a careful planning before ... These estimates are essential for project managers and software developers ...
INTERNATIONAL JOURNAL of ACADEMIC RESEARCH

Vol. 6. No. 5. September, 2014

R. Rezaei, B. Arasteh. A new method in software cost estimation with Tabu Search. International Journal of Academic Research Part A; 2014; 6(5), 41-45. DOI: 10.7813/2075-4124.2014/6-5/A.7 Library of Congress Classification: TK7885-7895

A NEW METHOD IN SOFTWARE COST ESTIMATION WITH TABU SEARCH 1

2

Raheleh Rezaei , Bahman Arasteh 1

Department of Computer Engineering, Science and Research Branch, Islamic Azad University, West Azerbaijan, Iran 2Department of Computer Engineering, College of Engineering, Tabriz Branch, Islamic Azad University, Tabriz, Iran DOI: 10.7813/2075-4124.2014/6-5/A.7 Received: 06 Feb, 2014 Accepted: 12 Jul, 2014

ABSTRACT Software Cost Estimation (SCE) and timely delivery of software is the greatest concern for researchers. Researchers have presented several methods in this regard. One such example is COCOMO which stands for Constructive Cost Model. It was proposed for the first time by Mr. Boehm in his 1981 book “Software Engineering Economics.” This model is being used to estimate the cost, effort and time based on Line of Code (LOC). In this paper, the Intermediate COCOMO has been improved using the Tabu Search algorithm in a way that fixed parameters of COCOMO have been optimized using Tabu Search algorithm and according to the results it’s been observed in this paper, that this method has lower Mean Absolute Relative Error (MMARE) compared to COCOMO. Key words: Software Cost Estimation, COCOMO, Tabu Search 1. INTRODUCTION The exact definition of a software cost estimation, as well as other factors like time, effort and number of people involved to carry out the project are of utmost importance in the earlier stages of the lifecycle of software project to be successful. The reason for this is that by the expanding needs, software projects and their architecture are becoming more complex, and this increases the requirements for their development and implementation [1]. Therefore, for a successful software project we need a careful planning before we start. An influencing factor in estimating the exact cost is the amount of effort required [2]. As a result it can be said that estimating the needed effort is the process of predicting the time and cost needed to complete the software with regard to some parameters and usually software’s effort estimation is done based on the size of the software [3]. These estimates are essential for project managers and software developers because software development has become a way of investment for some companies and in most cases accurate estimates of software projects are critical in managing projects like budgeting [4]. Accurate cost estimation for software projects are a powerful aid in the precise planning before starting the software project which provides the insight for the feasibility of software project and reduces the threatening risks significantly [4]. Researchers have always been looking for ways to provide more accurate cost estimations and for this purpose several methods have been devised. Usually these methods can be divided into two categories of algorithmic and non-algorithmic methods. Some algorithmic techniques include COCOMO [2, 5], SLIM [6], and Function Points model (FP) [3]. These methods had some problems and researchers sought to devise nonalgorithmic methods to solve these problems. These methods were developed in 1990s. Some of these methods include artificial neural networks, genetic algorithms and Tabu search. In this paper, it’s been tried to improve one of the algorithmic methods, the COCOMO II, using one of the non-algorithmic methods, the Tabu search. 2. PREVIOUS WORKS Software projects are among the most sophisticated software engineering products which include many sources that each must have accurate values in order for the project not to fail. Thus, the software cost estimation is an important part in the success of software projects as a significant part of software engineering science. In recent years, many studies have been carried out in project cost estimation using artificial intelligence techniques. Almost a decade has passed since the advent of artificial intelligence techniques in software engineering. Artificial intelligence techniques have been proposed to deal with weaknesses in cost estimation methods and were welcomed quickly. It can not still be said with certainty that artificial intelligence techniques are the best way in estimating the cost of software projects. One example of algorithmic methods is COCOMO. The initial model of COCOMO was presented by Dr. Boehm in 1981 [2]. Some researchers [7] tried to estimate the cost of software projects using soft computing techniques. In their articles, they have used Fuzzy Logic and Particle Swarm

Baku, Azerbaijan| 41

INTERNATIONAL JOURNAL of ACADEMIC RESEARCH

Vol. 6. No. 5. September, 2014

Optimization for cost estimation. They have used 30 projects from NASA database for their test results. And according to the results in their paper, their proposed method obtained better estimates and it had reduced the mean relative error (MMRE) to 7.512% in comparison to older methods. In [8] they have used data mining techniques and algorithmic models to evaluate the cost estimation of software projects. One of the most critical issues in software development is software cost estimation. In their paper, they have evaluated COCOMO with data mining techniques. Cost estimation has been simulated using these four data mining techniques: ANNs, Linear Regression (LR), Support Vector Regression (SVR) and KNearest Neighbors (KNN). Using LR can help determine the dependence of effective characteristics in software cost estimation. LR model finds the relationship between independent and dependent factors in data. ANNs are trying to estimate the costs more accurately by training and testing the data. SVR model is used to optimize the effective factors in software cost estimation. KNN is a data mining technique that is applied to classify the data in a set of data that have already been classified and their properties have been specified. Using KNN the weight of effective factors in cost estimation is determined. Their experimental results show that SVR model has lower MRE than other models, while LR shows more MRE in many cases. In general, SVR is the best way to train the data with correct prediction in 95% of the time. SVR and ANN are more efficient in training and testing the data than KNN and LR. 3. TABU SEARCH ALGORITHM The Tabu Search algorithm was proposed by Glover in 1997 [9]. This method operates by searching the neighbors. The general structure of Tabu search algorithm is that an initial possible solution is selected, then for the related answer a set of possible neighbor solutions are considered according to a certain criteria. In the next step, after evaluating the specified neighboring solutions the best one is selected and the replacement of current solution with neighboring solution is done. The process is repeated until the end of algorithm. In Tabu search algorithm there is a list named Tabu list that visited displacements are stored in. Its main use is to avoid converging to locally optimal solutions. In other words with the help of Tabu list displacement to solutions that recently have been searched is forbidden and only those parts of the solution set that have not been investigated are considered. After each replacement the Tabu List gets updated. 4. PROPOSED METHOD The proposed method is improving the intermediate COCOMO by using Tabu Search algorithm. For instance fixed parameters of intermediate COCOMO shown in table 1 have been improved by TS algorithms. For this purpose, the initial population is randomly selected from NASA projects. First, a candidate list with the capacity of 20 to hold the members which are suitable for selection and a Tabu list with the capacity of 20 to hold the members which are selected and should not be reselected are created. These numbers are obtained through trial and error. Neighborhood here means the values of the fixed parameters of COCOMO (solutions) which are generated at each stage. The initial solution is found based on NASA projects. To improve the COCOMO, Tabu search works in a way that first it divides NASA projects into three categories according to their sizes. Then according to each of those projects Tabu search algorithm finds values for fixed parameters of COCOMO (a, b and c). Using these values MARE for each is calculated and sorted in an ascending fashion and then the lowest MARE is obtained. In fact, by doing so the most appropriate COCOMO parameters for each set of three project types which lead to lowest MARE is found. Eventually by replacing obtained values with COCOMO parameters in table (1), COCOMO is optimized. Table 1. Values for fixed parameter of COCOMO model Project Type

a

b

Organic

2.4

1.05

c 2.5

Semi Detached

3.0

1.12

2.5

Embedded

3.6

1.20

2.5

Finding the values for the fixed parameters of COCOMO for each NASA project using Tabu Search algorithm is done through the following steps: Step 1: empty the Tabu list and candidate list. Step 2: initiate the initial solution using COCOMO’s fixed parameters. Step 3: find the neighbors related to the initial solution according to reference. Step 4: empty candidate list. Step 5: add the desired solution to the candidate list, in the absence of that solution in Tabu list. Step 6: select the best neighbor from the candidate list based on MARE. Step 7: in case chosen solution is more optimal than overall optimal, no need to check the Tabu list and the chosen solution is replaced with overall optimal. Step 8: if chosen solution is not more optimal than overall optimal and if it is not in the Tabu list, replace the chosen solution with overall optimal. Step 9: add chosen solution to Tabu list. Step 10: empty Tabu list if full

42 | PART A. APPLIED AND NATURAL SCIENCES

www.ijar.eu

INTERNATIONAL JOURNAL of ACADEMIC RESEARCH

Vol. 6. No. 5. September, 2014

Step 11: replace optimal solution with initial solution. Step 12: repeat steps 3 to 11 until the end condition of algorithm is met Step 13: return the optimal solution.

Performed steps are shown in figure 1. 5. EVALUATE In this paper, evaluation is done by replacing the new values of (a, b, and c) obtained by proposed method in formula(1) and then calculating the cost of each project using the proposed method, later by replacing the obtained values in formula(2) the absolute relative error[10] for each project is calculated. Finally, using formula(3) overall mean absolute relative error is obtained. Formula(1): =

∗(

) ∗

+

Formula(2): M RE =

|Actual − Estimate | Actual

In this formula Actual i is the actual cost of each project which is available in NASA database, and Estimated i is the estimated cost using the proposed method. Formula(3): =

1

The mean relative absolute error for projects are obtained using formula(3), results obtained for this value for both COCOMO and proposed method is shown in table(2).

Baku, Azerbaijan| 43

INTERNATIONAL JOURNAL of ACADEMIC RESEARCH

Vol. 6. No. 5. September, 2014

Table 2. Mean of MARE Model Name

MMARE

COCOMO

0.2371

Tabu Search

0.1790

Diagram 1 and Diagram 2 shows the results of comparison between Tabu search and COCOMO. Results show improvement in accurate estimation compared to COCOMO.

Diagram 1. Comparison of Tabu Search and COCOMO Model based on MARE upon test data

Diagram 2. Comparison of Tabu Search and COCOMO Model based on MARE upon train data It can be understood from the results that Tabu Search algorithm yields better estimates than COCOMO model, because it has less absolute relative error than COCOMO model. In diagram (1) and diagram (2) the horizontal axis indicates the number of test projects. In this paper, 80% of NASA database projects are trained by the proposed method and 20% of projects are selected for testing and vertical axis is absolute relative error obtained for the projects using COCOMO and the proposed method. 6. CONCLUSION Accurate cost estimation for software projects helps project managers in carefully planning the projects before starting it, which plays an important role in the success of the project. In this paper, we have tried to use Tabu search algorithm to optimize the values of fixed parameters of COCOMO and consequently optimize the model itself. As the results in table 2 indicate, the mean absolute relative error on NASA database projects using COCOMO is 0.2371 percent and it is 0.1790 percent using the proposed method. As a result, we have a 0.0581 percent decrease in absolute relative error using the proposed method.

44 | PART A. APPLIED AND NATURAL SCIENCES

www.ijar.eu

INTERNATIONAL JOURNAL of ACADEMIC RESEARCH

Vol. 6. No. 5. September, 2014

REFERENCES 1. B.W. Boehm, 1981, “Software Engineering Economics”, Prentice Hall, Pages. 767. 2. B.W. Boehm, 2000, “Software Cost Estimation with COCOMO II”, Prentice Hall PTR, Englewood Cliffs, New Jersy, pages. 544. 3. A.F. Sheta, 2006, “Estimation of the COCOMO Model Parameters Using Genetic Algorithms for NASA Software Projects”, Journal of Computer Science, Vol. 2, No. 2, pp.118-123. 4. I. Attarzadeh, S. H. Ow, 2010, “A Novel Algorithmic Cost Estimation Model Based on Soft Computing Technique”, Journal of Computer Science, Vol. 6, No. 2, pp. 117-125. 5. X. Huang, D. Ho, J. Ren, L. F. Capretz, 2007, “Improving the COCOMO model using a neuro-fuzzy approach”, Applied Soft Computing, Vol. 7, pp. 29-40. 6. L. H. Putnam, 1978, “A general empirical solution to the macro software sizing and estimating problem”, IEEE Trans. Software Eng, Vol. 4, pp. 345-361. 7. Ziauddin, Sh. K.Tipu, Kh. Zaman, Sh. Zia, “Software Cost Estimation Using Soft Computing Techniques”, Advances in Information Technology and Management (AITM),Vol. 2, No. 1, pp. 233238, 2012. 8. Z. A.KHALIFELU, F. S.GHAREHCHOPOGH, "Comparison and Evaluation Data Mining Techniques with Algorithmic Models in Software Cost Estimation", Elsevier, Procedia-Technology Journal, ISSN: 2212-0173, Vol. 1, pp. 65-71, 2012. 9. F. Glover, M. Laguna, 1997, “Tabu Search”, Amsterdam, Kluwer Academic Publishers. 10. Z. A. Dizaji, K. Khalilpour, 2014, “Particle Swarm Optimization and Chaos Theory Based Approach For Software Cost Estimation”, International Journal of ACADEMIC RESEARCH, Baku, Azerbaijan, Vol. 6, No. 3, pp. 130-135.

Baku, Azerbaijan| 45

Suggest Documents