Alexander P . Conrad , Robert S. Roos , and Gregory M. Kapfhammer - - PowerPoint PPT Presentation

alexander p
SMART_READER_LITE
LIVE PREVIEW

Alexander P . Conrad , Robert S. Roos , and Gregory M. Kapfhammer - - PowerPoint PPT Presentation

Introduction Regression Testing Empirical Study Conclusion Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization Alexander P . Conrad , Robert S. Roos , and Gregory M. Kapfhammer


slide-1
SLIDE 1

Introduction Regression Testing Empirical Study Conclusion

Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

Alexander P . Conrad‡, Robert S. Roos†,

and Gregory M. Kapfhammer†

‡Department of Computer Science

University of Pittsburgh

†Department of Computer Science

Allegheny College

Genetic and Evolutionary Computation Conference Search-Based Software Engineering Track July 2010

1 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-2
SLIDE 2

Introduction Regression Testing Empirical Study Conclusion

Important Contributions

Search-Based Prioritizers Empirical Results

Genetic algorithm-based test prioritizer that uses many mutation, crossover, selection, and transformation operators

2 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-3
SLIDE 3

Introduction Regression Testing Empirical Study Conclusion

Important Contributions

Search-Based Prioritizers Empirical Results

Genetic algorithm-based test prioritizer that uses many mutation, crossover, selection, and transformation operators

2 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-4
SLIDE 4

Introduction Regression Testing Empirical Study Conclusion

Important Contributions

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Genetic algorithm-based test prioritizer that uses many mutation, crossover, selection, and transformation operators

2 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-5
SLIDE 5

Introduction Regression Testing Empirical Study Conclusion

Important Contributions

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Genetic algorithm-based test prioritizer that uses many mutation, crossover, selection, and transformation operators

2 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-6
SLIDE 6

Introduction Regression Testing Empirical Study Conclusion

Important Contributions

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Automatically constructed tree models highlight the unique role that the selection operator plays during prioritization

2 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-7
SLIDE 7

Introduction Regression Testing Empirical Study Conclusion

Important Contributions

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Genetic algorithm is superior to random search and hill climbing and often suitable for many testing environments

2 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-8
SLIDE 8

Introduction Regression Testing Empirical Study Conclusion

Important Contributions

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Complete genetic algorithm-based prioritization framework is available from http://gelations.googlecode.com/

2 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-9
SLIDE 9

Introduction Regression Testing Empirical Study Conclusion

Process of Regression Testing

R(T) T Reorder the test suite in order to improve effectiveness

3 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-10
SLIDE 10

Introduction Regression Testing Empirical Study Conclusion

Process of Regression Testing

R(T) T Prioritization Reorder the test suite in order to improve effectiveness

3 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-11
SLIDE 11

Introduction Regression Testing Empirical Study Conclusion

Process of Regression Testing

R(T) T Prioritization T ′ Reorder the test suite in order to improve effectiveness

3 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-12
SLIDE 12

Introduction Regression Testing Empirical Study Conclusion

Process of Regression Testing

R(T) T Prioritization T ′ Execution Reorder the test suite in order to improve effectiveness

3 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-13
SLIDE 13

Introduction Regression Testing Empirical Study Conclusion

Process of Regression Testing

R(T) T Prioritization T ′ Execution P Reorder the test suite in order to improve effectiveness

3 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-14
SLIDE 14

Introduction Regression Testing Empirical Study Conclusion

Process of Regression Testing

R(T) T Prioritization T ′ Execution P S(T) R(T) Reorder the test suite in order to improve effectiveness

3 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-15
SLIDE 15

Introduction Regression Testing Empirical Study Conclusion

Process of Regression Testing

R(T) T Prioritization T ′ Execution P S(T) R(T) R(T) T Prioritization Version Specific Regression Testing T ′ Execution P S(T) R(T) Re-prioritize each time the suite or program changes

3 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-16
SLIDE 16

Introduction Regression Testing Empirical Study Conclusion

Process of Regression Testing

R(T) T Prioritization T ′ Execution P S(T) R(T) R(T) T Prioritization T ′ Execution P S(T) R(T) R(T) T Prioritization General Regression Testing T ′ Execution P S(T) R(T) Use the same suite for multiple rounds of test execution

3 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-17
SLIDE 17

Introduction Regression Testing Empirical Study Conclusion

Process of Regression Testing

R(T) T Prioritization T ′ Execution P S(T) R(T) R(T) T Prioritization T ′ Execution P S(T) R(T) R(T) T Prioritization General Regression Testing T ′ Execution P S(T) R(T) Do et al. “the worst thing that JUnit users can do is not practice some form of prioritization” (ISSRE 2004)

3 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-18
SLIDE 18

Introduction Regression Testing Empirical Study Conclusion

Importance of Test Suite Prioritization

5 10 15 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 1, 2, 3 CE = 0.3789

Prioritize to increase the CE of a test suite CE = Actual Ideal ∈ [0, 1]

4 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-19
SLIDE 19

Introduction Regression Testing Empirical Study Conclusion

Importance of Test Suite Prioritization

5 10 15 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 1, 2, 3 CE = 0.3789

1,2,3 Test Orderings

Original ordering exhibits poor effectiveness score - CE = 0.3789

4 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-20
SLIDE 20

Introduction Regression Testing Empirical Study Conclusion

Importance of Test Suite Prioritization

5 10 15 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 1, 3, 2 CE = 0.5053

1,2,3 Test Orderings 1,2,3 1,3,2

Different ordering improves the effectiveness score - CE = 0.5053

4 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-21
SLIDE 21

Introduction Regression Testing Empirical Study Conclusion

Importance of Test Suite Prioritization

5 10 15 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 2, 3, 1 CE = 0.4316

1,2,3 Test Orderings 1,2,3 1,3,2 1,2,3 1,3,2 2,3,1

Some orderings have less improved scores - CE = 0.4316

4 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-22
SLIDE 22

Introduction Regression Testing Empirical Study Conclusion

Importance of Test Suite Prioritization

5 10 15 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 3, 1, 2 CE = 0.5789

1,2,3 Test Orderings 1,2,3 1,3,2 1,2,3 1,3,2 2,3,1 1,2,3 1,3,2 2,3,1 3,1,2

Best ordering shows a higher effectiveness scores - CE = 0.5789

4 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-23
SLIDE 23

Introduction Regression Testing Empirical Study Conclusion

Importance of Test Suite Prioritization

5 10 15 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 3, 1, 2 CE = 0.5789

1,2,3 Test Orderings 1,2,3 1,3,2 1,2,3 1,3,2 2,3,1 1,2,3 1,3,2 2,3,1 3,1,2

Greedy methods often produce high effectiveness orderings

4 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-24
SLIDE 24

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 Possible configuration of the coverage report

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-25
SLIDE 25

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 Possible configuration of the coverage report

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-26
SLIDE 26

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 Possible configuration of the coverage report

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-27
SLIDE 27

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 Possible configuration of the coverage report

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-28
SLIDE 28

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 Execution time of the test cases may mislead greedy

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-29
SLIDE 29

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 Execution time of the test cases may mislead greedy

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-30
SLIDE 30

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 T1 T2 T3 T4 Original ordering has low effectiveness score

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-31
SLIDE 31

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 T1 T2 T3 T4 CE(T) = 0.54 Original ordering has low effectiveness score

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-32
SLIDE 32

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 Greedy method constructs suite with marginal improvement

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-33
SLIDE 33

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 CE(T ′) = 0.55 Greedy method constructs suite with marginal improvement

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-34
SLIDE 34

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 CE(T ′) = 0.55 Greedy can exhibit high run-times (Jiang et al. ASE 2009)

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-35
SLIDE 35

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 T1 T2 T4 T3 Genetic algorithm finds a higher quality ordering

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-36
SLIDE 36

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 T1 T2 T4 T3 CE(T ′) = 0.63 Genetic algorithm finds a higher quality ordering

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-37
SLIDE 37

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 T1 T2 T4 T3 CE(T ′) = 0.63 Genetic algorithm is amenable to parallelization

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-38
SLIDE 38

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 T1 T2 T4 T3 CE(T ′) = 0.63 Genetic algorithm supports “human in the loop”

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-39
SLIDE 39

Introduction Regression Testing Empirical Study Conclusion

Limitations of Greedy Methods

T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T3) = 1 time(T4) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 T1 T2 T4 T3 CE(T ′) = 0.63 Genetic algorithm constructs diverse test orderings

5 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-40
SLIDE 40

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation

Randomly create suites by repeatedly shuffling T1, . . . , Tn

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-41
SLIDE 41

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation

Execute the phases until the genetic algorithm stagnates

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-42
SLIDE 42

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Operators

Use coverage effectiveness in this study - others possible

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-43
SLIDE 43

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Operators CE

Use coverage effectiveness in this study - others possible

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-44
SLIDE 44

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Operators CE APFD APRC

Use coverage effectiveness in this study - others possible

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-45
SLIDE 45

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation

Choose orderings to become parents of next generation

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-46
SLIDE 46

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Operators

Choose orderings to become parents of next generation

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-47
SLIDE 47

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Operators ROU TOU TRU

Choose orderings to become parents of next generation

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-48
SLIDE 48

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation

Seven possible operators combine parents to produce children

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-49
SLIDE 49

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Operators

Seven possible operators combine parents to produce children

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-50
SLIDE 50

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Operators MPX PMX POS

Seven possible operators combine parents to produce children

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-51
SLIDE 51

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation

Six possible operators make random changes to orderings

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-52
SLIDE 52

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Operators

Six possible operators make random changes to orderings

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-53
SLIDE 53

Introduction Regression Testing Empirical Study Conclusion

Test Prioritization with Genetic Algorithms Fitness

Initialize

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Fitness

Execute

Selection Crossover Mutation Operators ISM IVM SIM

Six possible operators make random changes to orderings

6 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-54
SLIDE 54

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Explored a wide variety of genetic algorithm configurations

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-55
SLIDE 55

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy How frequently do we modify individual test orderings?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-56
SLIDE 56

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy

Parameter Values

How frequently do we modify individual test orderings?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-57
SLIDE 57

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy

Parameter Values 0.10 0.33

0.67 How frequently do we modify individual test orderings?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-58
SLIDE 58

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy How many children should be in the next population?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-59
SLIDE 59

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy

Parameter Values

How many children should be in the next population?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-60
SLIDE 60

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy

Parameter Values 0.50 0.75

1.00 How many children should be in the next population?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-61
SLIDE 61

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy How many test suites should exist in the population?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-62
SLIDE 62

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy

Parameter Values

How many test suites should exist in the population?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-63
SLIDE 63

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy

Parameter Values 75 150

225 How many test suites should exist in the population?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-64
SLIDE 64

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy How many generations without fitness improvement?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-65
SLIDE 65

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy

Parameter Values

How many generations without fitness improvement?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-66
SLIDE 66

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy

Parameter Values 20 30

40 How many generations without fitness improvement?

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-67
SLIDE 67

Introduction Regression Testing Empirical Study Conclusion

Configuration of the Genetic Algorithm

Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy Mutation Rate Possible Configurations Child Density Population Stagnancy

Parameter Values 20 30

40 See the paper for further operator and configuration details

7 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-68
SLIDE 68

Introduction Regression Testing Empirical Study Conclusion

Analysis Techniques: Tree Models

sel_method: TOU3, TOU4, TOU5

Tree Models: Recursive partitioning creates hierarchical view of data

8 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-69
SLIDE 69

Introduction Regression Testing Empirical Study Conclusion

Analysis Techniques: Tree Models

sel_method: TOU3, TOU4, TOU5 child_density < 0.875 0.9674

Tree Models: Recursive partitioning creates hierarchical view of data

8 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-70
SLIDE 70

Introduction Regression Testing Empirical Study Conclusion

Analysis Techniques: Tree Models

sel_method: TOU3, TOU4, TOU5 child_density < 0.875 0.9674 0.9573

Tree Models: Recursive partitioning creates hierarchical view of data

8 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-71
SLIDE 71

Introduction Regression Testing Empirical Study Conclusion

Analysis Techniques: Tree Models

sel_method: TOU3, TOU4, TOU5 child_density < 0.875 0.9674 0.9573 pop_size < 187.5

Tree Models: Recursive partitioning creates hierarchical view of data

8 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-72
SLIDE 72

Introduction Regression Testing Empirical Study Conclusion

Analysis Techniques: Tree Models

sel_method: TOU3, TOU4, TOU5 child_density < 0.875 0.9674 0.9573 pop_size < 187.5 sel_method child_density pop_size

Explanatory Variable: Configuration of the genetic algorithm

8 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-73
SLIDE 73

Introduction Regression Testing Empirical Study Conclusion

Analysis Techniques: Tree Models

sel_method: TOU3, TOU4, TOU5 child_density < 0.875 0.9674 0.9573 pop_size < 187.5 sel_method child_density pop_size Categorical sel_method

Non-parametric techniques that handles different variable types

8 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-74
SLIDE 74

Introduction Regression Testing Empirical Study Conclusion

Analysis Techniques: Tree Models

sel_method: TOU3, TOU4, TOU5 child_density < 0.875 0.9674 0.9573 pop_size < 187.5 sel_method child_density pop_size Categorical Categorical Numerical child_density pop_size

Non-parametric techniques that handles different variable types

8 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-75
SLIDE 75

Introduction Regression Testing Empirical Study Conclusion

Analysis Techniques: Tree Models

sel_method: TOU3, TOU4, TOU5 child_density < 0.875 0.9674 0.9573 pop_size < 187.5 sel_method child_density pop_size Categorical Categorical Numerical Categorical Numerical 0.9674 0.9573

Response Variable: Fitness of the final test ordering (CE score)

8 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-76
SLIDE 76

Introduction Regression Testing Empirical Study Conclusion

Experimental Goals and Design

Name |T| |R(T)| CCN NCSS DS 110 40 1.35 1243.00 GB 51 88 2.60 1455.00 JD 54 783 1.64 2716.00 LF 13 6 1.40 215.00 RM 13 19 2.13 569.00 SK 27 117 2.00 628.00 TM 27 46 2.21 748.00 RP 76 221 2.65 6822.00 Several applications and test suites - coverage reports derived from call-tree based adequacy (McMaster and Memon ICSM 2005)

9 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-77
SLIDE 77

Introduction Regression Testing Empirical Study Conclusion

Experimental Goals and Design

Name |T| |R(T)| CCN NCSS DS 110 40 1.35 1243.00 GB 51 88 2.60 1455.00 JD 54 783 1.64 2716.00 LF 13 6 1.40 215.00 RM 13 19 2.13 569.00 SK 27 117 2.00 628.00 TM 27 46 2.21 748.00 RP 76 221 2.65 6822.00 Several applications and test suites - coverage reports derived from call-tree based adequacy (McMaster and Memon ICSM 2005)

9 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-78
SLIDE 78

Introduction Regression Testing Empirical Study Conclusion

Experimental Goals and Design

Name |T| |R(T)| CCN NCSS DS 110 40 1.35 1243.00 GB 51 88 2.60 1455.00 JD 54 783 1.64 2716.00 LF 13 6 1.40 215.00 RM 13 19 2.13 569.00 SK 27 117 2.00 628.00 TM 27 46 2.21 748.00 RP 76 221 2.65 6822.00 Several applications and test suites - coverage reports derived from call-tree based adequacy (McMaster and Memon ICSM 2005)

9 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-79
SLIDE 79

Introduction Regression Testing Empirical Study Conclusion

Experimental Goals and Design

Name |T| |R(T)| CCN NCSS DS 110 40 1.35 1243.00 GB 51 88 2.60 1455.00 JD 54 783 1.64 2716.00 LF 13 6 1.40 215.00 RM 13 19 2.13 569.00 SK 27 117 2.00 628.00 TM 27 46 2.21 748.00 RP 76 221 2.65 6822.00 Use additional case study applications and adequacy criteria as future work in order to control threats to external validity

9 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-80
SLIDE 80

Introduction Regression Testing Empirical Study Conclusion

Experimental Goals and Design

Name |T| |R(T)| CCN NCSS DS 110 40 1.35 1243.00 GB 51 88 2.60 1455.00 JD 54 783 1.64 2716.00 LF 13 6 1.40 215.00 RM 13 19 2.13 569.00 SK 27 117 2.00 628.00 TM 27 46 2.21 748.00 RP 76 221 2.65 6822.00 Use random and hill climbing (first and steepest ascent) as control methods for comparison to the genetic algorithm prioritizer

9 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-81
SLIDE 81

Introduction Regression Testing Empirical Study Conclusion

Experimental Goals and Design

Name |T| |R(T)| CCN NCSS DS 110 40 1.35 1243.00 GB 51 88 2.60 1455.00 JD 54 783 1.64 2716.00 LF 13 6 1.40 215.00 RM 13 19 2.13 569.00 SK 27 117 2.00 628.00 TM 27 46 2.21 748.00 RP 76 221 2.65 6822.00 See the paper for more details about the design of the empirical study (e.g., configuration of random and hill climbing prioritizers)

9 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-82
SLIDE 82

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Method Importance

sel_method: TOU3, TOU4, TOU5 RM child_density < 0.875 0.9674

10 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-83
SLIDE 83

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Method Importance

sel_method: TOU3, TOU4, TOU5 RM child_density < 0.875 0.9674 sel_method

10 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-84
SLIDE 84

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Method Importance

sel_method: TOU3, TOU4, TOU5 RM child_density < 0.875 0.9674 sel_method sel_method: TOU3, TOU4, TOU5 GB mutation_rate < 0.17 cross_operator: OX1, VR

10 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-85
SLIDE 85

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Method Importance

sel_method: TOU3, TOU4, TOU5 RM child_density < 0.875 0.9674 sel_method sel_method: TOU3, TOU4, TOU5 GB mutation_rate < 0.17 cross_operator: OX1, VR sel_method

10 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-86
SLIDE 86

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Method Importance

sel_method: TOU3, TOU4, TOU5 RM child_density < 0.875 0.9674 sel_method sel_method: TOU3, TOU4, TOU5 GB mutation_rate < 0.17 cross_operator: OX1, VR sel_method

The sel_method variable is always the most important parameter

10 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-87
SLIDE 87

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Method Importance

sel_method: TOU3, TOU4, TOU5 RM child_density < 0.875 0.9674 sel_method sel_method: TOU3, TOU4, TOU5 GB mutation_rate < 0.17 cross_operator: OX1, VR sel_method

Importance of sel_method holds for all case study applications

10 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-88
SLIDE 88

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Method Importance

sel_method: TOU3, TOU4, TOU5 RM child_density < 0.875 0.9674 sel_method sel_method: TOU3, TOU4, TOU5 GB mutation_rate < 0.17 cross_operator: OX1, VR sel_method

How does the selection method impact the genetic algorithm?

10 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-89
SLIDE 89

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Intensity

Name ROUE ROUL TRU60 TRU40 TOU2 TOU5 DS 0.9742 0.9837 0.9893 0.9915 0.9514 0.9706 GB 0.9500 0.9572 0.9668 0.9700 0.9062 0.9402 JD 0.9247 0.9328 0.9431 0.9451 0.8993 0.9192 LF 0.9903 0.9903 0.9903 0.9903 0.9903 0.9903 RM 0.9665 0.9670 0.9681 0.9682 0.9328 0.9475 RP 0.9774 0.9824 0.9868 0.9879 0.9570 0.9705 SK 0.9859 0.9878 0.9911 0.9915 0.9667 0.9763 TM 0.9585 0.9605 0.9662 0.9672 0.9503 0.9579 Avg. 0.9659 0.9702 0.9752 0.9765 0.9443 0.9591 Except for the smallest application (LF), the CE scores of the evolved

  • rderings are better than the initial and reverse test suites

11 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-90
SLIDE 90

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Intensity

Name ROUE ROUL TRU60 TRU40 TOU2 TOU5 DS 0.9742 0.9837 0.9893 0.9915 0.9514 0.9706 GB 0.9500 0.9572 0.9668 0.9700 0.9062 0.9402 JD 0.9247 0.9328 0.9431 0.9451 0.8993 0.9192 LF 0.9903 0.9903 0.9903 0.9903 0.9903 0.9903 RM 0.9665 0.9670 0.9681 0.9682 0.9328 0.9475 RP 0.9774 0.9824 0.9868 0.9879 0.9570 0.9705 SK 0.9859 0.9878 0.9911 0.9915 0.9667 0.9763 TM 0.9585 0.9605 0.9662 0.9672 0.9503 0.9579 Avg. 0.9659 0.9702 0.9752 0.9765 0.9443 0.9591 Study a type of operator as it increases in intensity, or the change in average fitness due to selection (Blickle & Thiele, Evol Comp 1997)

11 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-91
SLIDE 91

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Intensity

Name ROUE ROUL TRU60 TRU40 TOU2 TOU5 DS 0.9742 0.9837 0.9893 0.9915 0.9514 0.9706 GB 0.9500 0.9572 0.9668 0.9700 0.9062 0.9402 JD 0.9247 0.9328 0.9431 0.9451 0.8993 0.9192 LF 0.9903 0.9903 0.9903 0.9903 0.9903 0.9903 RM 0.9665 0.9670 0.9681 0.9682 0.9328 0.9475 RP 0.9774 0.9824 0.9868 0.9879 0.9570 0.9705 SK 0.9859 0.9878 0.9911 0.9915 0.9667 0.9763 TM 0.9585 0.9605 0.9662 0.9672 0.9503 0.9579 Avg. 0.9659 0.9702 0.9752 0.9765 0.9443 0.9591 Increasing selection intensity improves the CE scores of test

  • rderings, even though it does not cause more rapid convergence

11 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-92
SLIDE 92

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Intensity

Name ROUE ROUL TRU60 TRU40 TOU2 TOU5 DS 0.9742 0.9837 0.9893 0.9915 0.9514 0.9706 GB 0.9500 0.9572 0.9668 0.9700 0.9062 0.9402 JD 0.9247 0.9328 0.9431 0.9451 0.8993 0.9192 LF 0.9903 0.9903 0.9903 0.9903 0.9903 0.9903 RM 0.9665 0.9670 0.9681 0.9682 0.9328 0.9475 RP 0.9774 0.9824 0.9868 0.9879 0.9570 0.9705 SK 0.9859 0.9878 0.9911 0.9915 0.9667 0.9763 TM 0.9585 0.9605 0.9662 0.9672 0.9503 0.9579 Avg. 0.9659 0.9702 0.9752 0.9765 0.9443 0.9591 Increasing selection intensity improves the CE scores of test

  • rderings, even though it does not cause more rapid convergence

11 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-93
SLIDE 93

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Intensity

Name ROUE ROUL TRU60 TRU40 TOU2 TOU5 DS 0.9742 0.9837 0.9893 0.9915 0.9514 0.9706 GB 0.9500 0.9572 0.9668 0.9700 0.9062 0.9402 JD 0.9247 0.9328 0.9431 0.9451 0.8993 0.9192 LF 0.9903 0.9903 0.9903 0.9903 0.9903 0.9903 RM 0.9665 0.9670 0.9681 0.9682 0.9328 0.9475 RP 0.9774 0.9824 0.9868 0.9879 0.9570 0.9705 SK 0.9859 0.9878 0.9911 0.9915 0.9667 0.9763 TM 0.9585 0.9605 0.9662 0.9672 0.9503 0.9579 Avg. 0.9659 0.9702 0.9752 0.9765 0.9443 0.9591 Increasing selection intensity improves the CE scores of test

  • rderings, even though it does not cause more rapid convergence

11 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-94
SLIDE 94

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Intensity

Name ROUE ROUL TRU60 TRU40 TOU2 TOU5 DS 0.9742 0.9837 0.9893 0.9915 0.9514 0.9706 GB 0.9500 0.9572 0.9668 0.9700 0.9062 0.9402 JD 0.9247 0.9328 0.9431 0.9451 0.8993 0.9192 LF 0.9903 0.9903 0.9903 0.9903 0.9903 0.9903 RM 0.9665 0.9670 0.9681 0.9682 0.9328 0.9475 RP 0.9774 0.9824 0.9868 0.9879 0.9570 0.9705 SK 0.9859 0.9878 0.9911 0.9915 0.9667 0.9763 TM 0.9585 0.9605 0.9662 0.9672 0.9503 0.9579 Avg. 0.9659 0.9702 0.9752 0.9765 0.9443 0.9591 Low intensity selection causes search to meander around low quality test suite prioritizations, making fitness stagnate and the GA terminate

11 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-95
SLIDE 95

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Intensity

Name ROUE ROUL TRU60 TRU40 TOU2 TOU5 DS 0.9742 0.9837 0.9893 0.9915 0.9514 0.9706 GB 0.9500 0.9572 0.9668 0.9700 0.9062 0.9402 JD 0.9247 0.9328 0.9431 0.9451 0.8993 0.9192 LF 0.9903 0.9903 0.9903 0.9903 0.9903 0.9903 RM 0.9665 0.9670 0.9681 0.9682 0.9328 0.9475 RP 0.9774 0.9824 0.9868 0.9879 0.9570 0.9705 SK 0.9859 0.9878 0.9911 0.9915 0.9667 0.9763 TM 0.9585 0.9605 0.9662 0.9672 0.9503 0.9579 Avg. 0.9659 0.9702 0.9752 0.9765 0.9443 0.9591 High intensity selection focuses on a local optimum of high quality instead of hunting for hard-to-find global optimum

11 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-96
SLIDE 96

Introduction Regression Testing Empirical Study Conclusion

Results: Selection Intensity

Name ROUE ROUL TRU60 TRU40 TOU2 TOU5 DS 0.9742 0.9837 0.9893 0.9915 0.9514 0.9706 GB 0.9500 0.9572 0.9668 0.9700 0.9062 0.9402 JD 0.9247 0.9328 0.9431 0.9451 0.8993 0.9192 LF 0.9903 0.9903 0.9903 0.9903 0.9903 0.9903 RM 0.9665 0.9670 0.9681 0.9682 0.9328 0.9475 RP 0.9774 0.9824 0.9868 0.9879 0.9570 0.9705 SK 0.9859 0.9878 0.9911 0.9915 0.9667 0.9763 TM 0.9585 0.9605 0.9662 0.9672 0.9503 0.9579 Avg. 0.9659 0.9702 0.9752 0.9765 0.9443 0.9591 One Explanation: the fitness landscape for coverage effectiveness contains many local optima that are good test orderings

11 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-97
SLIDE 97

Introduction Regression Testing Empirical Study Conclusion

Results: Comparison to Random

0.0 0.2 0.4 0.6 0.8 1.0 50 500 5000

GB

Number of Random Prioritizations Coverage Effectiveness (CE)

GB: Random orderings have average CE scores around 0.6

12 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-98
SLIDE 98

Introduction Regression Testing Empirical Study Conclusion

Results: Comparison to Random

0.2 0.4 0.6 0.8 1.0 50 500 5000

SK

Number of Random Prioritizations Coverage Effectiveness (CE)

SK: Random orderings have average CE scores around 0.7

12 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-99
SLIDE 99

Introduction Regression Testing Empirical Study Conclusion

Results: Comparison to Random

0.2 0.4 0.6 0.8 1.0 50 500 5000

SK

Number of Random Prioritizations Coverage Effectiveness (CE)

Conclusion: Random is not as effective as the genetic algorithm

12 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-100
SLIDE 100

Introduction Regression Testing Empirical Study Conclusion

Results: Comparison to Hill Climbing

0.2 0.4 0.6 0.8 1.0 DS GB JD LF RM RP SK TM

HC−FA−FN

Case Study Application Coverage Effectiveness (CE)

First Ascent: Across all applications, average CE score below 0.8

13 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-101
SLIDE 101

Introduction Regression Testing Empirical Study Conclusion

Results: Comparison to Hill Climbing

0.2 0.4 0.6 0.8 1.0 DS GB JD LF RM RP SK TM

HC−SA−FN

Case Study Application Coverage Effectiveness (CE)

Steepest Ascent: Larger neighborhoods slightly improve the CE scores

13 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-102
SLIDE 102

Introduction Regression Testing Empirical Study Conclusion

Results: Comparison to Hill Climbing

0.2 0.4 0.6 0.8 1.0 DS GB JD LF RM RP SK TM

HC−SA−FN

Case Study Application Coverage Effectiveness (CE)

Conclusion: Hill climber is not as effective as the genetic algorithm

13 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-103
SLIDE 103

Introduction Regression Testing Empirical Study Conclusion

GELATIONS Framework for Prioritization

http://gelations.googlecode.com/ provides our framework

14 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-104
SLIDE 104

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers Empirical Results

Developed a genetic algorithm-based test prioritizer supporting many evolutionary operators and configurations

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-105
SLIDE 105

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers Empirical Results

Developed a genetic algorithm-based test prioritizer supporting many evolutionary operators and configurations

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-106
SLIDE 106

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Developed a genetic algorithm-based test prioritizer supporting many evolutionary operators and configurations

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-107
SLIDE 107

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Developed a genetic algorithm-based test prioritizer supporting many evolutionary operators and configurations

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-108
SLIDE 108

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Used automatically constructed tree models to highlight the role that the selection operator plays during prioritization

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-109
SLIDE 109

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Genetic algorithm is superior to random search and hill climbing and thus suitable for certain testing environments

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-110
SLIDE 110

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Future Work: After extending the genetic algorithm, use fitness landscape analysis to understand impact of adequacy criteria

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-111
SLIDE 111

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Future Work: Use additional applications (e.g., SIR, XML, DBA) and test adequacy criteria (e.g., data and control flow)

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-112
SLIDE 112

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results

Future Work: Comprehensive empirical study of all major search-based and greedy algorithms for test suite prioritization

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-113
SLIDE 113

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results Get involved and stay in touch!

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-114
SLIDE 114

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results Get involved and stay in touch! Read paper,

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-115
SLIDE 115

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results Get involved and stay in touch! Read paper, download and use GELATIONS,

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-116
SLIDE 116

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results Get involved and stay in touch! Read paper, download and use GELATIONS, replicate experiments,

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-117
SLIDE 117

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results Get involved and stay in touch! Read paper, download and use GELATIONS, replicate experiments, and share applications

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization

slide-118
SLIDE 118

Introduction Regression Testing Empirical Study Conclusion

Conclusions and Future Work

Search-Based Prioritizers

Execution Time (in ms) Coverage Effectiveness 0.92 0.94 0.96 0.98 1000 2000 3000 4000 5000 GB CX Control (RS) MPX OX1 OX2 PMX POS VR

Empirical Results http://www.cs.allegheny.edu/~gkapfham/research/kanonizo/

15 / 15 Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization