Gregory Kapfhammer
September 10, 2016
270

# AVMf: An Open-Source Implementation of the Alternating Variable Method

## Gregory Kapfhammer

September 10, 2016

## Transcript

1. ### AVMf An Open-Source Implementation of the Alternating Variable Method Gregory

M. Kapfhammer Phil McMinn SSBSE 2016 October 9, 2016

6. ### AVM is Everywhere Application Domains Workloads Testing SoftwareProductLines AVM is

used in varied domains

. , xn)
9. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn)
10. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) Objective Function
11. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn)
12. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) Exploratory Moves
13. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) Exploratory Moves Positive or negative “direction”?
14. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) Pattern Moves
15. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) Pattern Moves Improve objective value?
16. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) Pattern Moves Improve objective value? Yes! pattern or No! explore
17. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) Pattern Moves Improve objective value? Yes! pattern or No! explore
18. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) x = (x1, x2, . . . , xn)
19. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) x = (x1, x2, . . . , xn) Exploratoryand PatternMoves
20. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) x = (x1, x2, . . . , xn) Exploratoryand PatternMoves Consider all input vector variables
21. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) x = (x1, x2, . . . , xn) Exploratoryand PatternMoves Consider all input vector variables x = (x1, x2, . . . , xn)
22. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) x = (x1, x2, . . . , xn) Exploratoryand PatternMoves x = (x1, x2, . . . , xn) Revisit each xi in the input vector
23. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) x = (x1, x2, . . . , xn) Exploratoryand PatternMoves x = (x1, x2, . . . , xn) Restart for local optimum
24. ### Exploring AVM Input Vector x = (x1, x2, . .

. , xn) x = (x1, x2, . . . , xn) x = (x1, x2, . . . , xn) Exploratoryand PatternMoves x = (x1, x2, . . . , xn) Continue until termination condition

29. ### AVM Innovations Search Algorithms Geometric Lattice IteratedPattern Better search for

many landscapes

unimodal

43. ### Tools Using AVM Test Generation AUSTIN EvoSuite SchemaAnalyst AVM is

used in many tools