Parameter tuning or default values? An empirical investigation in search-based software engineering

被引:271
作者
Arcuri, Andrea [1 ]
Fraser, Gordon [2 ]
机构
[1] Simula Res Lab, Certus Software V&V Ctr, Lysaker, Norway
[2] Univ Sheffield, Dept Comp Sci, Sheffield S1 4DP, S Yorkshire, England
关键词
Search-based software engineering; Test data generation; Object-oriented; Unit testing; Tuning; EvoSuite; !text type='Java']Java[!/text; Response surface; Design of experiments; EVOLUTIONARY ALGORITHMS; GENERATION;
D O I
10.1007/s10664-013-9249-9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many software engineering problems have been addressed with search algorithms. Search algorithms usually depend on several parameters (e.g., population size and crossover rate in genetic algorithms), and the choice of these parameters can have an impact on the performance of the algorithm. It has been formally proven in the No Free Lunch theorem that it is impossible to tune a search algorithm such that it will have optimal settings for all possible problems. So, how to properly set the parameters of a search algorithm for a given software engineering problem? In this paper, we carry out the largest empirical analysis so far on parameter tuning in search-based software engineering. More than one million experiments were carried out and statistically analyzed in the context of test data generation for object-oriented software using the EvoSuite tool. Results show that tuning does indeed have impact on the performance of a search algorithm. But, at least in the context of test data generation, it does not seem easy to find good settings that significantly outperform the "default" values suggested in the literature. This has very practical value for both researchers (e.g., when different techniques are compared) and practitioners. Using "default" values is a reasonable and justified choice, whereas parameter tuning is a long and expensive process that might or might not pay off in the end.
引用
收藏
页码:594 / 623
页数:30
相关论文
共 39 条
[1]   A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation [J].
Ali, Shaukat ;
Briand, Lionel C. ;
Hemmati, Hadi ;
Panesar-Walawege, Rajwinder K. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2010, 36 (06) :742-762
[2]  
[Anonymous], R LANG ENV STAT COMP
[3]  
[Anonymous], 1997, MACHINE LEARNING, MCGRAW-HILL SCIENCE/ENGINEERING/MATH
[4]  
ARCURI A, 2011, ACM IEEE INT C SOFTW, P1
[5]   A Theoretical and Empirical Analysis of the Role of Test Sequence Length in Software Testing for Structural Coverage [J].
Arcuri, Andrea .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (03) :497-519
[6]  
Arcuri A, 2011, LECT NOTES COMPUT SC, V6956, P33, DOI 10.1007/978-3-642-23716-4_6
[7]  
Arcuri A, 2010, LECT NOTES COMPUT SC, V6435, P95, DOI 10.1007/978-3-642-16573-3_8
[8]   Tuning search algorithms for real-world applications: A regression tree based approach [J].
Bartz-Beielstein, T ;
Markon, S .
CEC2004: PROCEEDINGS OF THE 2004 CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1 AND 2, 2004, :1111-1118
[9]  
Ribeiro JCB, 2010, STUD COMPUT INTELL, V284, P185
[10]  
Chernick M.R., 1999, WILEY SERIES PROBABI