Responsive image
博碩士論文 etd-0713106-201239 詳細資訊
Title page for etd-0713106-201239
A hybrid genetic algorithm for automatic test data generation
Year, semester
Number of pages
Advisory Committee
Date of Exam
Date of Submission
software testing, structural testing, memetic algorithm, hybrid genetic algorithm
本論文已被瀏覽 5970 次,被下載 2344
The thesis/dissertation has been browsed 5970 times, has been downloaded 2344 times.
自動產生軟體測試資料近年來成為一個熱門的研究領域。許多方法也被提出用來解決這個問題,其中又以基因演算法(GeneticAlgorithm)最為盛行。然而它是否為最好的方法還不得而之。本論文提出一個混合式(Hybrid)的基因演算法來解決這個問題,它將傳統的基因演算法搭配上一個局部搜(Local Search)演算法,以提升基因演算法的效率,此混合機制在文獻中常被稱作Memetic Algorithm。本論文提出此方法的動機在於,從許多實際的程式中觀察到,測試資料產生的問題以最佳化的觀點來看並不是太過複雜,以至於基因演算法不見得會是適當的方法。從實驗結果中証實,我們所提出的混合式的基因演算法在許多例子上都表現得比目前已知的方法好。
Automatic test data generation is a hot topic in recent software testing research. Various techniques have been proposed with different emphases. Among them, most of the methods are based on Genetic Algorithms (GA). However, whether it is the best Metaheuristic method for such a problem remains unclear. In this paper, we choose to use another approach which arms a GA with an intensive local searcher (the so-called Memetic Algorithm (MA) according to the recent terminology). The idea of incorporating local searcher is based on the observations from many real-world programs. It turns out the results outperform many other known Metaheuristic methods so far. We argue the needs of local search for software testing in the discussion of the paper.
目次 Table of Contents
1. Introduction... 9
2. Related Works... 12
2.1 Structural Testing... 12
2.1.1 Basic Concepts... 12
2.2.2 Generate Structural Test Data for Test Data Adequacy Criteria... 14
2.2 Overview of Genetic Algorithm (GA)... 17
2.2.1 Terminologies and Basic Concepts... 18
2.2.2 Coding Strategies in GA... 19
2.2.3 The Framework of Pure GA... 21
2.3 Evolutionary Testing (ET)... 28
3. The Proposed Memetic Algorithm (MA)... 37
3.1 Steady-State GA (SSGA)... 37
3.2 The Weakness of GA in the Problem of Branch Coverage... 40
3.3 Sequential Search... 43
3.4 The complete MA... 46
3.5 Test Data Generator System with MA... 48
4. Empirical Study and Discussion... 52
4.1 Benchmark Testing Programs... 52
4.2 Result Comparisons of MA to SS and EDA... 53
4.3 Result Comparisons of MA to SSGA and pure GA... 57
5. Conclusion... 60
6. References... 61
Appendix A: Source code of Trangle1 and the corresponding CFG... 66
Appendix B: Source code of Trangle3 and the corresponding CFG... 69
Appendix C: Source code of Trangle4 and the corresponding CFG... 72
Appendix D: Source code of Atof and the corresponding CFG... 75
Appendix E: Source code of Remainder and the corresponding CFG... 78
Appendix F: Source code of ComplexBranch and the corresponding CFG... 80
參考文獻 References
[1] Myers G. J. The art of software testing 2nd Edition. John Wiley & Sons, Inc., Hoboken, New Jersey, 2004.
[2] Zhu H., Hall P. A., and May J. H. Software unit test coverage and adequacy. ACM Computing Surveys 29 (4):366-423, 1997.
[3] McMinn P. Search-based software test data generation: A survey. Software Testing, Verification and Reliability 14 (2):105-156, 2004.
[4] Mantere W., and Alander J. T. Evolutionary software engineering, a review. Applied Soft Computing Journal 5 (3):315-331, 2005.
[5] Korel B. Automated software test data generation. IEEE Transactions on Software Engineering 16(8):870-879, 1990.
[6] Wegener J., Baresel A., and Sthamer H. Evolutionary test environment for automatic structural testing. Information and Software Technology 43 (14):841-854, 2001.
[7] Pargas R., Harrold M. J., and Peck R. Test-data generation using genetic algorithms. Software Testing, Verification and Reliability 9 (4):263-282, 1999.
[8] Jones B., Sthamer H., and Eyres D. Automatic structural testing using genetic algorithms. Software Engineering Journal 11 (5):299-306, 1996.
[9] Mansour N., and Salame M. Data Generation for Path Testing. Software Quality Journal (12):121-136, 2004.
[10] Michael, C. C., McGraw G., and Schatz M. A. Generating Software Test Data by Evolution. IEEE Transactions on Software Engineering 27(12):870-879, 2001.
[11] Sagarna R., and Lozano J. A. Scatter Search in software testing, comparison and collaboration with Estimation of Distribution Algorithms. European Journal of Operational Research 169:392–412 (2), 2006
[12] Sagarna R., and Lozano J. A. On the performance of Estimation of Distribution Algorithms applied to software testing. Applied Artificial Intelligence 19:457–489 (5), 2005
[13] Alba E., and Chicano J. F. Software Testing with Evolutionary Strategies, Proceedings of the Rapid Integration of Software Engineering Techniques (RISE-2005), Heraklion, Grecia, 2005
[14] Díaz E, Tuya J., and Blanco R. Automated Software Testing Using a Metaheuristic Technique Based on Tabu Search, In 18th IEEE International Conference on Automated Software Engineering, pp. 310-313, 2003.
[15] Harman M., and Jones B. Search-based software engineering. Information and Software Technology 2001; 43 (14):833–839.
[16] Tracey N., Clark J., Mander K., and McDermid J. An automated framework for structural test-data generation. In: Proceedings of the 13th IEEE Conference on Automated Software Engineering. IEEE CS Press, pp. 285–288, 1998
[17] McMinn P., and Holcombe M. Evolutionary testing of state-based programs. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO’05), pages 1013 – 1020. Washington DC, USA, June 2005.
[18] McMinn P., Binkley D., and Harman M. Testability transformation for efficient automated test data search in the presence of nesting. In Proceedings of the Third UK Software Testing Workshop (UKTest 2005), University of Sheffield, UK, pp. 165-182, 2005
[19] McMinn P., and Holcombe M. Evolutionary testing using an extended chaining approach. Evolutionary Computation 14 (1):41-64, 2006.
[20] Jeng B., and Forgacs I. An Automatic Approach of Domain Test Data Generation. Journal of Systems and Software 49 (1):97-112, 1999.
[21] Jeng B. A new approach to domain testing, Ph.D. Thesis, Department of Computer Sciences, Courant Institute of Mathematical Sciences, New York University, 1990
[22] Coward P. D. Symbolic execution systems - a review. Software Engineering Journal 3 (6):229-239, 1988
[23] Whitley D. A Genetic Algorithm Tutorial. Statistics and Computing 1994; 4:65–85.
[24] Sastry K., and Goldberg D. Genetic Algorithms. In Introductory Tutorials in Optimization and Decision Support Techniques, Burke, E. and Kendall, G. eds., Springer, Berlin, 2005.
[25] Haupt R. L., and Haupt S. E. Practical Genetic Algorithms 2nd Edition, John Wiley & Sons, Inc., 2004.
[26] Herrera F., Lozano M., and Verdegay J. L. Tackling real-coded genetic algorithms: operators and tools for the behavioral analysis. Artificial Intelligence Reviews 12 (4):265-319, 1998.
[27] Merz P., and Freisleben B. Fitness landscapes and memetic algorithm design. In New Ideas in Optimization, D. Corne, M. Dorigo and F. Glover, eds., McGraw-Hill, London, 1999.
[28] Moscato P., and C. Cotta. A gentle introduction to memetic algorithms. In Handbook of Metaheuristics, F. Glover and G. ochenberger, eds., Kluwer Academic Publishers, 2003.
[29] Lozano M., Herrera F., Krasnogor N., and Molina D. Real-coded Memetic Algorithms with crossover hill-climbing. Evolutionary Computation 12 (3):273-302, 2004.
[30] Krasnogor N., Aragon A. and Pacheco J. Memetic algorithms. In Introductory Tutorials in Optimization and Decision Support Techniques, Burke, E. and Kendall, G. eds., Springer, Berlin, 2005.
[31] Blum C. and Roli A. Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Computing Surveys 35 (3):268-308, 2003.
[32] Glass H. and Cooper L. Sequential search: A method for solving constrained optimization problems, Journal of the ACM, 12 (1):71-82, 1965
[33] Land M.W.S. Evolutionary Algorithms with Local Search for Combinatorial Optimisation. PhD Thesis, University of California, San Diego, 1998.
[34] Harman M. The automatic generation of software test data using genetic algorithms. Ph.D. thesis, University of Glamorgan, Pontyprid, Wales, Great Britain, 1996.
[35] Sagarna R., and Lozano J. Variable search space for software testing. In Proceedings of the IEEE International Conference on Neural Networks and Signal Processing. IEEE Press, pp. 575–578, 2004
[36] Molina D., Herrera F., and Lozano M. Adaptive local search parameters for real-coded memetic algorithms. In the IEEE Congress on Evolutionary Computation, pp. 888-895, 2005.
[37] Nomura T., and Shimohara K. An analysis of two-parent recombination for real valued chromosomes in an infinite population. Evolutionary Computation 9 (3):283-308, 2001.
[38] Eshelman L. J., and Schaffer J. D. Real-coded genetic algorithms and interval-schemata. In Foundations of Genetic Algorithms 2, Whitley L. D. ed., Morgan Kaufmann, San Mateo, CA, pp. 187–202, 1993
[39] Ferrante J, Ottenstein K, and Warren JD. The program dependence graph and its use in optimization. ACM Transactions on Programming Languages and Systems, 9 (3):319–349, 1987
[40] Tracey N. A search-based automated test-data generation framework for safety critical software. PhD Thesis, University of York, 2000.
[41] Elshoff J. L. An analysis of some commercial PL/I programs. IEEE Transactions on Software Engineering. 2 (2):113-120, 1976
[42] Knuth D. E. An empirical study of FORTRAN programs. Software-Practice and Experience. 1 (2):105-133, 1971
[43] White L. J., and Cohen E. I. A domain strategy for computer program testing. IEEE Transactions on Software Engineering. 6 (3):247-257, 1980
[44] Krasnogor N., and Smith J. A Tutorial for Competent Memetic Algorithms: Model, Taxonomy, and Design Issues. IEEE Transactions on Evolutionary Computation. 9 (5):474-488, 2005
電子全文 Fulltext
論文使用權限 Thesis access permission:校內校外完全公開 unrestricted
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available

紙本論文 Printed copies
開放時間 available 已公開 available

QR Code