company logo epistatic genetic algorithm for test case ...€¦ · logo • single crossover(sc) 13...

29
Epistatic Genetic Algorithm for Test Case Prioritization Fang Yuan Zheng Li 2015/6/12

Upload: others

Post on 14-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

Company Logo

Q & A

Thanks