Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13...
Transcript of Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13...
![Page 1: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/1.jpg)
Company Logo Epistatic Genetic Algorithm for Test Case Prioritization
Fang Yuan Zheng Li
2015/6/12
![Page 2: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/2.jpg)
Logo
TCP --what is TCP
2
Different function f, which can be referred to as fitness function, corresponds to different objectives.
Zheng Li, Harman, M, Hierons, R.M. Search Algorithms for Regression Test Case Prioritization. IEEE Transactions on Software Engineering, 2007, 33(4):225 - 237.
NP-Hard
![Page 3: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/3.jpg)
Logo 3
TCP --an example of TCP
N : the number of test cases M : the number of code lines TSi : the id of test case that first covers statement i.
APSC(Average Percentage of statement coverage) is one of the most widely used function f.
AP*C
Zheng Li, Harman, M, Hierons, R.M. Search Algorithms for Regression Test Case Prioritization. IEEE Transactions on Software Engineering, 2007, 33(4):225 - 237.
![Page 4: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/4.jpg)
Logo
TCP --an example of TCP
4
Pers
enta
ge o
f Sat
emen
t Cov
erag
e
Test Suite Fraction
The area filled with straight lines is the APSC for A-B-C-D Test
Case Statement
1 2 3 4 5 A X X B X X C X X X D X X
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
A B C D
![Page 5: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/5.jpg)
Logo 5
Epistasis in biology
No gene for baldness
![Page 6: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/6.jpg)
Logo
Epistasis in GA
• The influence of a gene on the fitness of an chromosome depends on what gene values are present elsewhere.
• If a small change is made to one gene we expect a resultant change in chromosome fitness. This resultant change may vary according to the values of other genes.
6
![Page 7: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/7.jpg)
Logo
• Little epistasis : • Fitness is affected by each gene independently. • Optimization becomes gene-wise maximization.
• High epistasis:
• Too many genes are dependent on other genes. • Good gene segment are long and of high order. • Hard to solve.
7
Epistasis effect --Epistasis in GA
![Page 8: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/8.jpg)
Logo
Epistasis in TCP --an example of TCP
8
Perc
enta
ge o
f Sta
tem
ent C
over
age
Test Suite Fraction
0% 10% 20% 30% 40% 50% 60% 70% 80% 90%
100%
A B C D
The value of APSC only depends on this segment of test cases.
The area filled with straight lines is the APSC for A-B-C-D
![Page 9: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/9.jpg)
Logo
Epistasis in TCP --how to update
9
Epistatic Test Case Segment (ETS) : Given a permutation of all test cases in a test suite, the epistatic test case segment is a test cases segment which starts from the first test case in the execution sequence and ends with the test case that first reaches the maximum value of the test object. The value of APSC only depends on this segment of test cases.
![Page 10: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/10.jpg)
Logo 10
How to adapt crossovers to TCP under the guidance of ETS?
Epistasis in TCP --how to update
• The power of GA arises from crossover.
• Crossover is the main way to reproduce new individuals for GA.
![Page 11: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/11.jpg)
Logo 11
Epistasis in TCP --improve crossovers
Unware of ETS Pay more attention to ETS instead of the whole chromosome
Traditional Crossover Epistatic Crossover for TCP
![Page 12: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/12.jpg)
Logo
• Permutation Encoding is used. And the id of test cases are Unique in this encoding.
• A sequence of test cases is encoded as a chromosome.
• Use APSC as the fitness function and the value of APSC is only subject to ETS.
12
TCP & GA --improve crossovers
![Page 13: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/13.jpg)
Logo
• Single crossover(SC)
13
One-point crossover --improve crossovers
Problems: • If cut point is out of ETS, the fitness of offspring and
one parent will be just the same. • With more iterations of GA, ETS tends to be shorter,
accordingly the possibility that cut point is out of ETS.
![Page 14: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/14.jpg)
Logo
• Epistatic single crossover(E-SC)
14
Difference: • SC preserves the first k elements of parents, while E-SC varies the first k elements of parents.
Advantage: • The possibility of changing ETS becomes higher.
One-point crossover --improve crossovers
![Page 15: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/15.jpg)
Logo
• Order crossover(Ord)
15
Problems: • The genes constructing ETS
for offspring mostly come from the later genes of the parent, rather than from the ETS in parent.
Unlikely to inherit good genes from parent.
Two-point crossover --improve crossovers
![Page 16: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/16.jpg)
Logo
• Epistatic order crossover(E-Ord)
16
Difference: • The start position for the rest
genes copied from p2.
Advantage: • More likely to inherit good
genes within ETS from parent.
Two-point crossover --improve crossovers
![Page 17: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/17.jpg)
Logo
Epistasis in TCP --improve crossovers
• What’s the scale of variation in ETS should occur?
17
Too little: Too much : The lost inheritance of good ETSes.
Predominant More
predominant Premature
of GA
![Page 18: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/18.jpg)
Logo 18
Epistasis in TCP --improve crossovers
0 % change
too li.le
suitable for TCP
too big
100% change
The change scale of ETS
![Page 19: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/19.jpg)
Logo
• Does the epistatic crossovers outperform the original crossovers in effectiveness for TCP?
• Does the epistatic crossovers outperform the original crossovers in efficiency for TCP?
• Does the epistatic crossovers outperform other two-point crossovers in efficiency for TCP?
19
Research questions --research question
![Page 20: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/20.jpg)
Logo 20
Termination A: fixes the number of iterations. Termination B: terminate GA while the fitness of APSC reaches a stable status.
Experiment --subject programes
![Page 21: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/21.jpg)
Logo 21
Experiment --subject programes
![Page 22: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/22.jpg)
Logo
Experiment 1A --1A
22
The average APSC values with the increasing iterations in GA with SC and E-SC for four subjects respectively
![Page 23: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/23.jpg)
Logo
Experiment 1B --1B
23
The average iterations and average final APSC with SC and E-SC.
![Page 24: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/24.jpg)
Logo
Experiment 2A --2A
24
The average APSC values with the increasing iterations in GA with Ord and E-Ord for four subjects respectively
![Page 25: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/25.jpg)
Logo
Experiment 2B --2B
25
The average iterations and average final APSC with Ord and E-Ord.
![Page 26: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/26.jpg)
Logo
Experiment 3A --3A
26
GAs achieved very high APSC value , but the number of iterations for E-Ord is much fewer than that for PMX.
The average iterations and average final APSC with PMX and E-Ord.
![Page 27: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/27.jpg)
Logo
Contribution
• Apply epistatic theory to TCP.
• Two crossover operators are proposed based on epistasis.
• Proposed crossovers outperformed other crossovers we studied yet.
27
![Page 28: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/28.jpg)
Logo
Future work
• Analyze the ETS systematically. • Improve mutation with ETS.
• Multi-objective ETS.
28
![Page 29: Company Logo Epistatic Genetic Algorithm for Test Case ...€¦ · Logo • Single crossover(SC) 13 One-point crossover --improve crossovers Problems: • If cut point is out of ETS,](https://reader034.fdocuments.in/reader034/viewer/2022042812/5fb289e267ea4a74c16dfa27/html5/thumbnails/29.jpg)
Company Logo
Q & A
Thanks