A Review of Applications of Search Based Software Engineering Techniques in Last Decade Parul Gupta1, Ishani Arora2, Anju Saha3 1
Department of Computer Science and Engineering, Northern India Engineering College FC-26, Shastri Park, New Delhi – 11053, India
[email protected] 2,3 University School of Information and Communication Technology, Guru Gobind Singh Indraprastha University Sector-16C, Dwarka, Delhi – 110078, India 2
[email protected] 3
[email protected]
Abstract: Optimization and testing in software engineering using traditional techniques has become a tedious task now-a-days. In order to fasten this process, search based-software engineering (SBSE) techniques are introduced to solve real world large scale problems efficiently. Also, previous researches have shown a significant contribution of SBSE techniques in the domain of software testing, reliability, cost and effort estimation. This work reviews the application of five major SBSE methods and the issues solved by different practitioners in the last decade. It also addresses the problems in the implementation of these techniques which are still open for further research Keywords: Metaheuristics, Search Based Software Engineering, Software Engineering, Software Quality, Software Testing.
I.
INTRODUCTION
The term Metaheuristic is composed of two words, one is ‘heuristic’ which means ‘to find’ and it is prefixed by another word ‘meta’ i.e. ‘beyond, in an upper level’. S. Voß et al. [1] defined metaheuristic as, an iterative master process that guides and modifies the operations of subordinate heuristics to efficiently produce high-quality solutions. It may manipulate a complete (or incomplete) single solution or a collection of solutions at each iteration .The subordinate heuristics may be high (or low) level procedures, or a simple local search, or just a construction method. Metaheurisitic techniques have been classified in literature through various perspectives [2]. The amount of available solution space used by an algorithm at specific time period forms the basis for first classification. Hence it can be either a single point based search or a population based search. Variable neighborhood search (VNS), iterated local search and tabu search falls in the category of single point search metaheuristics. It discovers a path or trajectory in its own space of search and hence also called as trajectory methods. Population based search involves evolution of group of points in search space such as in ant colony optimization and evolutionary computation techniques. The mode of origin is another basis to distinguish between nature inspired and no 978-1-5090-1489-7/16/$31.00 ©2016 IEEE
584
nature inspired metaheuristic algorithm. Evolutionary computation and Ant Colony Optimization belongs to the class of nature inspired whereas tabu search and iterated local search belongs to the class of non nature inspired algorithms. Metaheuristic algorithms are also known as search based techniques or optimization algorithms which when applied to software engineering problems gave rise to Search Based Software Engineering (SBSE) [3] which reformulates software engineering problems as ‘search problems’. It is a collective attempt to shift from human based search to machine based search by applying search based optimization techniques. These methods encompass– representation of problem and defining fitness function. SBSE treats search problem as one where optimal or near optimal solution are sought in a search space of solution by making use of fitness function that discriminates worse and better solution. Although many researchers, practitioners have applied search based optimization to software engineering domain, SBSE term was first coined by Harman and Jones [3] in 2001 in their work which advocates Search Based Optimization as a general approach to Software Engineering. A number of SBSE methods such as simulated annealing (SA), genetic algorithm (GA), ant colony optimization (ACO), particle swarm optimization (PSO),tabu search (TS), hill climbing etc have been applied in different activities of software development such as project management [30,32], automated test case generation [10,18], software cost estimation [38,40,44] etc. This study provides a review of the five major metaheuristic techniques, namely, SA, GA, ACO, PSO and TS applied by the researchers in the last decade i.e. from 2005 to 2015 to solve different problems in the domain of software engineering. The paper is organized as follows: Section II presents a brief study of a total of 35 papers in the field of search based software engineering from the last 10 years, open & still unresolved issues in this area are discussed in section III and conclusions and future directions are presented in section IV.
2016 5th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions), Sep. 7-9, 2016, AIIT, Amity University Uttar Pradesh, Noida, India
II.
SYSTEMATIC LITERATURE REVIEW (SLR) PROCESS
RQ-2: Implementation issues The metaheuristic techniques have been applied to direct the various problems in software development life cycle such as estimation and optimization of software’s cost and effort, automatic generation of test data and so on. Various authors [10, 13, 18, 53] applied the different SBSE techniques for automatic test data and test case sequences generation. No key and true potential of any of these techniques has been recognized fully till date to generate the test data automatically for all kind of software’s testing in an efficient manner. Hence a need for a generalized technique arises.
The papers in this study are reviewed in concordance with the metaheuristic technique employed by different researchers to address software engineering problems. These 35 papers include 6 conference proceedings, 25 journal articles and 4 others such as symposium and workshop articles. A. Aim of Research This study is carried out with the aim to answer the following research questions:
Another issue which came in front is that newly proposed techniques such as PSO and TS are not independently working but most of them are hybridized along with conventional techniques like GA [39, 45, 51] in different ways to address the prevailing issues in software engineering. So, these novel methods are still required to find their unique and independent way of implementation in domain of software engineering.
RQ-1: What are the major application areas in which SBSE techniques were employed to address the several issues involved in software engineering domain? RQ-2: What are current trends and issues related to their implementation in software engineering? RQ-3: Identification of researchers who have contributed significantly in SBSE. B. Sources and Process
Thirdly to account for efficiency of the implemented and proposed algorithm, different practitioners used different performance comparison factors. C. Mao et al. [34] have used average coverage, success rate, average generation and average time as the performance accounting metrics for their proposed approach comparison with existing techniques but E. Díaz et al. [47] have used branch coverage percentage as comparison measure and again T. S. Rao et al. [40] have used MARE and prediction metrics. Therefore, there should be standardized measures along which the techniques should be evaluated and compared so that a uniform result can be achieved and followed.
Below mentioned are the core online sources used for extracting information: a. b. c. d. e.
IEEE Xplore (http://ieeexplore.org/) ACM digital library (http://dl.acm.org/) Google Scholar (http://scholar.google.co.in/) Springer LNCS (http://www.springer.com/gp/) Science Direct (http://www.sciencedirect.com/)
C. Criteria’s Involved in Study Selection The selection of techniques is performed keeping in view the way they are able to solve most of the issues lying in the software engineering domain. This review study covers the following five major SBSE techniques.
C. RQ-3: Significant Researchers The most consistent contribution in identifying the applications of metaheuristic techniques in domain of software engineering has been done by E. Alba, F. Chicana, A. S. Ghiduk, Dr. A. Kaur, P. R. Srivastava and T. S. Rao.
a. Simulated annealing b. Genetic algorithm c. Ant colony optimization d. Particle swarm optimization e. Tabu search
V.
CONCLUSION AND FUTURE SCOPE
This paper reviewed the literature describing the applications of SBSE in the last decade i.e. from 2005 to 2015. Different problems were recognized and addressed by the several software engineering practitioners and researchers. It also explains the data sets applied in their experimental work, the evaluation measures and the methodology followed during the implementation to solve a particular problem.
III. STATE OF THE ART Table 1 summarizes the application of five major metaheuristic techniques, applied by researchers for solving different problems in the domain of software engineering. IV. RESULTS
The work provides a brief view of what has already been done till date, but is not a comprehensive view of all the work done till now. It will guide the practitioners to explore the problems which are still open in SBSE area and hence, resolve them by providing an effective, efficient and a viable solution for the same.
RQ-1: Major Application Areas SBSE techniques have been used in numerous fields to solve distinct problems as shown in Table 1. Some of the major ones identified are: automation of test case generation, cost estimation, effort estimation, prediction of software faulty modules, optimization of coefficients of COCOMO models. 585
2016 5th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions), Sep. 7-9, 2016, AIIT, Amity University Uttar Pradesh, Noida, India
TABLE I: SUMMARY OF APPLICATION OF SBSE TECHNIQUES
Authors
Year
Problems Addressed
Other Techniques /Models Applied
Data Sets Used for Validation
Metrics/ Comparison techniques
Simulated Annealing (SA) Example from telemetry network system, AT&T Bell laboratories [5] Quadratic assignment, two calendar & boiler problem
Diameter, autocorrelation, generation rate of better solutions
SA and Bayesian classifier
Java API classes
J-index
Probabilistic NN exhaustive search
Data sets from PROMISE [9] repository
Recall
Test case for testing the target path
Target paths and proper fitness function
Six distinct programs
GADGET [12] technique
GA
Random numbers generated by code
Fitness function
GA
Min-max algorithms
Time order decline [16, 17]
P. F. Pai and W. C. 2006 Hong [4]
F Software Reliability
SVM-SA model
H. L. Waeselynck et al. [6]
Test Generation, safety critical property, verification, testing
SA, landscape concept
S. Bouktif et al. [7] 2006
Maximize OO model accuracy
P. C. Pendharkar [8]
Software defect prediction model learning problem
2006
2010
Genetic Algorithm (GA) J. C. Lin and P. L. 2000 Yeh [10] J. Miller et al. [11] 2006 P. R. Srivastava [13]
2009
F. S. Babamir et al. 2010 [15] A. Pachauri and Gursaran [18]
2010
M. A. Alshraide et 2013 al. [19]
Failure of earlier test case generators Automatic test data generation Optimized software testing Automation of structural-oriented test data Automating the test case in java programs unit testing Test data that fulfils the branch criteria for testing PL/SQL programs
GA based path testing algorithm GA and Test Data Generation
GA, Java modeling language (JML) GA GA, Control flow graph based methodology
K. K. Rao et al. [20]
2013
Optimizing software testing efficiency
A. Puri and H. Singh [21]
2014
Fault susceptible critical GA classes
Ant Colony Optimization (ACO) Combinatorial E. Alba and F. 2007 optimization problem Chicano [23] construction of graphs A. S. Ghiduk [25]
2010
Production of optimal paths set
Branch coverage Gaussian distribution, number creep & average coverage ratio Critical path clusters
jEdit project
8 different measures [22] & confusion matrix
ACO for huge graphs
missionary technique
Five Promela models [24]
ACO, PCTDACO prototype
C++ programs
Number of nodes
Y. Singh et al. [26] 2010
Rearrange the test cases ACO & regression within time limit test prioritization
B. Sharma et al. [27]
ACO based tool Test sequences in state efficient software transitions optimal paths coverage
2011
Java framework JGAP, Java’s software Soda-vending machine 6 real objects of Jordan university hospital information
Sum of square errors, Normalized root mean square error
586
Fault coverage capacity, Average percentage of fault detected State diagram of class Compared with management system conventional PPTACO state machine [28] [29] Eight test cases containing 10 faults
2016 5th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions), Sep. 7-9, 2016, AIIT, Amity University Uttar Pradesh, Noida, India
Authors
Year
J. Xiao et al. [30]
2012
B. Crawford et al. [32]
2014
C. Mao et al. [34]
2015
S. Yang et al. [35] 2015
Problems Addressed
Other Techniques /Models Applied
ACO system software Instance generator project scheduling solve [31] NP-Hard SPSP problem ACO, max-min ant SPSP system [33], hypercube framework Generating test data for structural testing
Data Sets Used for Validation
SPSP model, 30 tasks Hit rate & average quality instances of efficient solution Different number of tasks and employees
ACO, local transfer Eight significant & global transfer programs
Enhanced existing ACO Comprehensive algorithm improved ACO
Metrics/ Comparison techniques
GA for comparison Average coverage, success rate, average generation time, ANOVA
Classic triangle Iterations number, search classification program ability, random generation
Particle Swarm Optimization(PSO) A. Windisch et al. [36]
2007
Software testing
PSO, 25 simple artificial & Test case coverage, t-test DaimlerChrysler test 13 complicated system [37] industrial test objects
T. S. Rao et al. [38] 2011
Software cost estimation PSO, Fuzzy logic
A. Kaur and D. Bhatt et al. [39]
Regression testing
2011
P. R. P.V.G.D et al. 2011 [40] B. S. Ahmed et al. 2014 [41] F. S. Gharehchopogh et 2014 al. [44] M. R. Girgis et al. [45]
2015
Tabu search(TS) M. Casertaa and A. 2009 M. Uribe [46] E. Díaz et al. [47]
2008
F. Ferrucci et al. [48]
2009
A. Sharma et al. [50] J. Kaur and R. Sindhu [52]
2010 2014
G. Pandiyan and P. 2015 Krishnakumari [53] T. B. Miranda et al. 2015
NASA software data
Hybridized particle swarm optimization Java‘s IDE (HPSO), GA Multi Objective Two data sets from Software cost estimation PSO(MOPSO) COCOMO projects GUI functional testing
Simplified swarm optimization
Fuzzy c-means, Software cost estimation hybridized PSO model Genetical swarm Automation of test paths optimization generation technique
‘Flight Reservation’ case study Software projects of NASA data set
Four benchmark problems Different C/C++ programs
Software development effort estimation
TS
Desharnais dataset [49]
Optimizing the testing cost Optimizing coefficients of COCOMO II Elimination of defects and automate the fault localization
Dijkstra’s algorithm, Program of ship TS charges Turkish and Industry TS, GA data set Arcene and lung TS fault localization cancer data sets (UCI repository)
587
Execution time MARE and prediction Pair-wise independent combinatorial [42], Test vector generator [43] Magnitude of relative error (MRE), Relative error deviation (PRED)
15 C# small programs PSO, GA for comparison
Memory-mechanism for TS problem solving Automatic structural TS generator software testing (TSGen)
Generation of improved TS, GA
Mean absolute relative error (MARE)
Sample voter
Tabu tenure Random generator PRED, Mean magnitude of relative error (MMRE), median MRE Halsted’s measures [51] GA Fault prediction rate, software repair rate, repair cost time GA
2016 5th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions), Sep. 7-9, 2016, AIIT, Amity University Uttar Pradesh, Noida, India
Authors [54]
Year
Problems Addressed
Other Techniques /Models Applied
test-case sequences
REFERENCES [1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
S. Voß, S. Martello, I. H. Osman, and C. Roucairol, Metaheuristics:Advances and Trends in Local Search Paradigms for Optimization, New York: Springer,1999. C. Blum, M. J. B. Aguilera, A. Koli and M. Sampels, Hybrid Metaheuristics:An Emerging Approach to Optimization, Berlin, Germany: Springer Verlag, 2008. M. Harman and B. F. Jones, “Search based software engineering," Information and Software Technology, vol. 43, pp.833–839, 2001. P. F. Pai and W. C. Hong, "Software reliability forecasting by support vector machines with simulated annealing algorithm," The J. of Sys. and Software, vol.79, no. 6, pp. 747-755, 2006. L. Pham and H. Pham, "Software reliability models with time dependent hazard function based on Bayesian approach," IEEE Trans. on Sys. Man and Cybernetics - Part A: Systems and Humans, vol. 30, pp. 25–35, Jan, 2000. -----H. Waeselynck, P. The´venod-Fosse and O. AbdellatifKaddour, "Simulated annealing applied to test generation: landscape characterization and stopping criteria," Empir Software Eng., vol. 12, no. 1, pp. 35-63, Apr, 2006. S. Bouktif, H. Sahraoui, and G. Antoniol,"Simulated annealing for improving software quality prediction," in Proc. 8th Annu. Genetic and Evolutionary Computation Conf., Washington, USA, 2006, pp. 1893-1900. P. C. Pendharkar, "Exhaustive and heuristic search approach for learning a software defect prediction," Eng. Applicat. of Artificial Intell., vol. 23, no.1, pp. 34-40, Feb, 2010. G. Boetticher, T. Menzies and T. Ostrand, “PROMISE repository of empirical software engineering data”, http://promisedata.org/, 2007. J. C. Lin and P. L. Yeh," Automatic test data generation for path testing using GA," Inform. Sciences: An Int. J., vol. 131, no. 14, pp. 47-64, Jul, 2000. J. Miller, M. Reformat, and H. Zhang," Automatic test case generation using GA and program dependence graphs," Inform. and Software Technology, vol. 48, no. 7, pp. 586-605, Jul, 2006. P. McMinn and M. Holcombe, “The state problem for evolutionary testing," in Genetic and Evolutionary ComputationGECCO 2003, vol. 2724, Berlin, Germany: Springer Verlag, 2003, pp. 2488-2498. P. R. Shrivastava, "Optimization of software testing using genetic algorithm," in Communications in Computer and Information Sciences., Berlin, Germany: Springer Verlag, 2009, Information Systems, Technology and Management, pp. 350351. P. R. Srivastava, P. Gupta, Y. Arrawatia, and S. Yadav, "Use of genetic algorithm in generation of feasible test data," in Special Interest Group on Sofware Engineering Acm Notes, vol. 34, no. 2, New York, Acm NY, 2009, pp. 1-4. F. S. Babamir, A. Hatamizadeh, S. M. Babamir, M. Dabbaghian, and A. Norouzi, "Application of genetic algorithm
[16]
[17]
[18]
[19]
[20]
[21]
[22] [23]
[24]
[25]
[26]
[27]
[28]
[29]
588
Data Sets Used for Validation validation form
Metrics/ Comparison techniques
in automatic software testing," in Network digital technologies, vol. 88, Berlin, Germany: Springer Verlag, 2010, pp. 545-55. D. Bern, J. Fisher, L. Johnson, J. Pinglikar, and A. Watkins, "Breeding software test cases with genetic algorithm," in Proc. 36th Hawaii Int. Conf. on System Sciences, Big Island, Hawaii, 2003. P. R. Srivastava and T. Kim, "Applied to genetic algorithm in software engineering," Int. J. of Software Engineering and its Applications, vol. 3, no. 4, pp. 87–96, Oct, 2009. A. Pachauri and Gursaran, "Test data generation for unit testing of java programs using JML and genetic algorithm," Int. J. of Software Eng. and Applicat., vol. 1, no.2, pp. 11-20, Apr, 2011. M. A. Alshraideh, B. A. Mahafzah, H. S. E. Salman, and I. Salah, "Using genetic algorithm as test data generator for stored PL/SQL program units," J. of Software Eng. Applicat., vol. 6, no.2, pp. 65-73, Feb, 2013. K. K. Rao, GSVP Raju, and S. Nagaraj, "Optimizing the software testing efficiency by using a genetic algorithm - A Design Methodology," in Special Interest Group on Software Eng. Acm Notes, vol. 38, no. 3, New York, Acm NY, 2013, pp. 1-5. A. Puri and H. Singh, "Genetic algorithm based approach for finding faulty modules in open source software systems," Int. J. of Comput. Sci. and Eng. Survey, vol. 5, no.3, Jun, 2014. J. Gray, "Why do computers stop and what can be done about it?" Tandem Comput., Cupertino, USA, Rep. 85.7, June 1985. E. Alba and F. Chicana, "Finding safety errors with ACO," in Proc. 9th Annu. Genetic and Evolutionary Computation Conf., New York, USA, 2007, pp. 1066-1073. S. Edelkamp, S. Leue, and A. Lluch-Lafuente, "Directed explicit-state model checking in the validation of communication protocols," Int. J. of Software Tools for Technology Transfer, vol. 5, no. 2, pp. 247–267, 2004. A. S. Ghiduk, "A new software data-flow testing approach via ant colony algorithms," Universal J. of Comput. Sci. and Eng., vol. 1, no. 1, October 2010, pp. 64-72. Y. Saini, A. Kaur, and B. Suri, "Test Case Prioritization using Ant Colony Optimization," in Special interest group of software Eng. acm notes, vol. 35, no. 4, Jul, 2010. B. Sharma, I. Girdhar, M. Taneja, P. Basia, S. Vadla, and P. R. Srivastava, "Software coverage : A testing approach through ant colony optimization," in Swarm Evolutionary and Memetic Computing, Berlin, Germany: Springer Berlin Heidelberg, 2011, pp. 618-625. C. Doungsa-ard, K. Dahal, A. Hossain, and T. Suwannasart, "An improved automatic test data generation from UML state machine diagram," in Proc. 2nd Int. Conf. on Software Engineering Advances, Cap Esterel, French Riviera, France, 2007. P. R. Srivastava and K. M. Baby, "An approach of optimal path generation using ant colony optimization," in Proc. IEEE Region 10 International Conf, Singapore, 2009, pp. 1–6.
2016 5th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions), Sep. 7-9, 2016, AIIT, Amity University Uttar Pradesh, Noida, India
[30] J. Xiao, X. T. Ao, and Y. Tang, "Solving software scheduling problems with ant colony optimization," Comput. & Operations Research, vol. 40, no. 1, 2012, pp. 33-46. [31] E. Alba and F. Chicano, "Software project management with GAs," Information Sciences, vol. 177, no. 11, pp. 2380-401, Jun, 2007. [32] B. Crawford, R. Soto, F. Jhonson, E. Monfroy, and F. Paredes, "A max-min ant system algorithm to solve the software project scheduling problem," Expert Sys. with Applicat., vol. 41, no.15, pp. 6634-6645, Nov, 2014. [33] T. Stutzle and H. H. Hoos, "Max-min ant system," Future Generation Comput. Sys., vol. 16, no. 8, pp. 889-914, 2000. [34] C. Maoa, L. Xiaoa, X. Yua, and J. Chenc, "Adapting ant colony optimization to generate test data for software structural testing," Swarm and Evolutionary Computation, Berlin, Germany: Springer Berling Heidelberg, 2015, pp. 23–36. [35] S.Yang, T. Man, and J. Xu, "Improved ant algorithms for software testing cases generation," The Scientific World Journal, May, 2014. [36] A. Windisch, S. Wappler, and J. Wegener, "Applying particle swarm optimization to software testing," in Proc. of the 9th Annu. Genetic and Evolutionary Computation Conf., NY, USA, 2007, pp. 1121-1128. [37] J. Wegener, A. Baresel, and H. Sthamer, "Evolutionary test environment for automatic structural testing," Information and Software Technology, vol. 43, no.1, pp. 841–854, 2001. [38] T. Srinivasa Rao, P. V. G. D. Prasad Reddy, V. M. K. Hari, "Fuzzy and swarm intelligence for software cost estimation," Global J. of Comput. Sci. and technology,vol. 11, no. 22, pp. 3741, Dec, 2011. [39] Dr. A. Kaur and D. Bhatt, "Hybrid particle owarm optimization for regression testing," Int. J. on Comput. Sci. and Eng., vol. 3, no. 5, pp. 1815-1824, May, 2011. [40] P. V. G. D. Prasad Reddy, V. M. K. Hari and T. Srinivasa Rao, "Multi objective particle swarm optimization for software cost estimation," Int. J. of Comput. Applicat., vol. 32, no.3, pp. 13-17, Oct, 2011. [41] B. S. Ahmed, M. A. Sahib and M. Y. Potrus, "Generating combinatorial test cases using simplified swarm optimization algorithm(SSO) for automated GUI functional testing," Eng. Sci. and Technology, an Int. J., vol. 17, no. 4, pp. 218–226, Dec, 2014. [42] J. Czerwonka, "Pairwise testing in real world: Practical extension to test case generator," in Proc. 24th Pacific Northwest Software Quality Conference, IEEE computer society, Portland, USA, 2006, pp. 419-430. [43] J.Arshem.(2013,March3).TestVectorGenerator[Online].Availab le:http://sourceforge.net/projects/tvg. [44] F. S. Gharehchopogh, L. Ebrahimi, I. Maleki and S. J. Gourabi, "A Novel PSO based Approach with Hybrid of Fuzzy C-Means
[45]
[46]
[47]
[48]
[49]
[50]
[51] [52]
[53]
[54]
589
and Learning Automata in Software Cost Estimation," Indian J. of Sci. and technology, vol. 7, no. 6, pp. 795-803, Jun, 2014. M. R. Girgis, A. S. Ghiduk and E. H. Abd-Elkawy, "Automatic data flow test paths generation using genetical swarm optimization technique," Int. J. of Comput. Applicat., vol. 116, no. 22, pp. 25-33, Apr, 2015. M. Casertaa and A. M. Uribeb, "Tabu search-based metaheuristic algorithm for software system reliability problems," Comput. & Operations Research, vol. 36, no. 3, pp. 811-822, Mar, 2009. E. Díaz, J. Tuya, R. Blanco and J. J. Dolado, "A tabu search algorithm for structural software testing," Comput. & Operations Research, vol. 35, no. 10, pp. 3052–3072, Oct, 2008. F. Ferrucci, C. Gravino, R. Oliveto, and F. Sarro, "Using tabu search to estimate software development effort," in Software Process and Product Measurement, Berlin, Germany: Springer Berlin Heidelberg, 2009, pp. 307-320. J. M. Desharnais, "Analyse statistique de la productivitie des projets informatique a partie de la technique des point des function," M. thesis, Univ. of Montreal, Montreal,Canada, 1989. A. Sharma, A. Jadhav, P. R. Srivastava and R. Goyal, "Test cost optimization using tabu search," J. Software Eng. & Applicat., vol. 3, no. 5, pp. 477-486, Feb, 2010. I. Sommerville, Software Engineering, 7th ed., Pearson Addison Wesley, 2005. J. Kaur, R. Sindhu, "Comparative analysis of tabu search and genetic algorithms for software effort estimation," Int. J. of Advanced Research in Comput. Sci. & Software Eng., vol. 4, no. 5, pp. 1418-1421, May, 2014. Pandiyan G. and P. Krishnakumari, "An efficient software defect prediction model using optimized tabu search branch and bound procedure," ARPN Journal of Engineering and Applied Sciences, vol. 10, no. 1, pp. 72-79, Jan, 2015. T. B. Miranda, M. Dhinya, K. Sathyamoorthy, "Test case optimization using genetic & tabu search algorithm in structural testing," Int. J. of Comput. Applicat. Technology & research, vol. 4, no. 5, pp. 355 - 358, 2015.