empirically identifying the best genetic algorithm for
play

EMPIRICALLY IDENTIFYING THE BEST GENETIC ALGORITHM FOR COVERING - PowerPoint PPT Presentation

1 EMPIRICALLY IDENTIFYING THE BEST GENETIC ALGORITHM FOR COVERING ARRAY GENERATION Liang Yalan 1 , Changhai Nie 1 , Jonathan M. Kauffman 2 , Gregory M. Kapfhammer 2 , Hareton Leung 3 1 Department of Computer Science and Technology, Nanjing


  1. 1 EMPIRICALLY IDENTIFYING THE BEST GENETIC ALGORITHM FOR COVERING ARRAY GENERATION Liang Yalan 1 , Changhai Nie 1 , Jonathan M. Kauffman 2 , Gregory M. Kapfhammer 2 , Hareton Leung 3 1 Department of Computer Science and Technology, Nanjing University 2 Department of Computer Science, Allegheny College 3 Department of Computing, Hong Kong Polytechnic University 3 rd International Symposium on Search Based Software Engineering Szeged, Hungary September 10-12, 2011

  2. Combinatorial Testing 2 Modern software systems are highly configurable and involve many interacting parameters Combinatorial testing is a widely used and practical technique for detecting failures caused by the parameter interactions One of the key challenges in combinatorial testing is covering array generation, which is an noteworthy area of research From Kuhn et al., 70% of failures can be detected by 2-way interactions of the software system’s parameters Covering arrays can save testing time while still detecting many important software faults

  3. Combinatorial Testing 3 Modern software systems are highly configurable and involve many interacting parameters Combinatorial testing is a widely used and practical technique for detecting failures caused by the parameter interactions One of the key challenges in combinatorial testing is covering array generation, which is an noteworthy area of research From Kuhn et al., 70% of failures can be detected by 2-way interactions of the software system’s parameters Covering arrays can save testing time while still detecting many important software faults

  4. Combinatorial Testing 4 Modern software systems are highly configurable and involve many interacting parameters Combinatorial testing is a widely used and practical technique for detecting failures caused by the parameter interactions One of the key challenges in combinatorial testing is covering array generation, which is an noteworthy area of research From Kuhn et al., 70% of failures can be detected by 2-way interactions of the software system’s parameters Covering arrays can save testing time while still detecting many important software faults

  5. Combinatorial Testing 5 Modern software systems are highly configurable and involve many interacting parameters Combinatorial testing is a widely used and practical technique for detecting failures caused by the parameter interactions One of the key challenges in combinatorial testing is covering array generation, which is an noteworthy area of research From Kuhn et al., 70% of failures can be detected by 2-way interactions of the software system’s parameters Covering arrays can save testing time while still detecting many important software faults

  6. Combinatorial Testing 6 Modern software systems are highly configurable and involve many interacting parameters Combinatorial testing is a widely used and practical technique for detecting failures caused by the parameter interactions One of the key challenges in combinatorial testing is covering array generation, which is an noteworthy area of research From Kuhn et al., 70% of failures can be detected by 2-way interactions of the software system’s parameters Covering arrays can save testing time while still detecting many important software faults

  7. 2-way Covering Arrays 7 Suppose there are 4 parameters ( pa 1 , pa 2 , pa 3 , and pa 4 ) in a system under test (SUT), each with 3 values (0, 1, 2) If we want to cover all 54 pair-wise interactions between every 2 parameters in the SUT, then only 9 test cases are needed What is the most efficient and effective method for generating covering arrays?

  8. 2-way Covering Arrays 8 Suppose there are 4 parameters ( pa 1 , pa 2 , pa 3 , and pa 4 ) in a system under test (SUT), each with 3 values (0, 1, 2) If we want to cover all 54 pair-wise interactions between every 2 parameters in the SUT, then only 9 test cases are needed What is the most efficient and effective method for generating covering arrays?

  9. Covering Array Generation 9 Mathematical and Greedy Methods • OFOT: One Factor One Time Method • AETG: Automatic Efficient Tests Generator Evolutionary Search Techniques • Particle swarm optimization • Simulated annealing • Ant colony optimization

  10. Covering Array Generation 10 Mathematical and Greedy Methods • OFOT: One Factor One Time Method • AETG: Automatic Efficient Tests Generator Evolutionary Search Techniques • Particle swarm optimization • Simulated annealing • Ant colony optimization

  11. Covering Array Generation 11 Mathematical and Greedy Methods • OFOT: One Factor One Time Method • AETG: Automatic Efficient Tests Generator Evolutionary Search Techniques • Particle swarm optimization • Simulated annealing • Ant colony optimization This paper studies and improves genetic algorithms for covering array generation

  12. Genetic Algorithm Phases 12 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants Genetic algorithms solve complex problems

  13. Genetic Algorithm Phases 13 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants Genetic algorithms are hard to configure

  14. Genetic Algorithm Parameters 14 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants System under test (SUT) description (e.g., 3 13 )

  15. Genetic Algorithm Parameters 15 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants Number of uncovered pair-wise interactions

  16. Genetic Algorithm Parameters 16 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants P c controls the probability of crossover

  17. Genetic Algorithm Parameters 17 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants If P c is too high, then break good individuals

  18. Genetic Algorithm Parameters 18 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants If P c is too low, then miss good solutions

  19. Genetic Algorithm Parameters 19 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants P m controls the probability of mutation

  20. Genetic Algorithm Parameters 20 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants If P m is too small, then cannot escape minima

  21. Genetic Algorithm Parameters 21 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants If P m is too large, then degrade into random

  22. Genetic Algorithm Parameters 22 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants Standard GA: Select the superior individuals

  23. Genetic Algorithm Parameters 23 1 2 3 4 5 Initialize Fitness Crossover Mutation Selection • Accept input • Higher is • Create new • Modify • Choose parameters better individuals individuals individuals • Generate • Pair-wise • Combine two • Increase • Many population interactions parents diversity variants GA-: Select the inferior individuals

Recommend


More recommend