AVMf
An Open-Source Implementation of the Alternating Variable Method Gregory M. Kapfhammer Phil McMinn
SSBSE 2016 October 9, 2016
AVM f An Open-Source Implementation of the Alternating Variable - - PowerPoint PPT Presentation
AVM f An Open-Source Implementation of the Alternating Variable Method Gregory M. Kapfhammer Phil McMinn SSBSE 2016 October 9, 2016 AVM is Everywhere Application Domains AVM is Everywhere Application Domains Workloads AVM is
An Open-Source Implementation of the Alternating Variable Method Gregory M. Kapfhammer Phil McMinn
SSBSE 2016 October 9, 2016
Application Domains
Application Domains Workloads
Application Domains Workloads Testing
Application Domains Workloads Testing SoftwareProductLines
Application Domains Workloads Testing SoftwareProductLines
AVM is used in varied domains
Positive or negative “direction”?
Improve objective value?
Improve objective value?
Yes! pattern or No! explore
Improve objective value?
Yes! pattern or No! explore
Consider all input vector variables
Consider all input vector variables
Revisit each xi in the input vector
Restart for local optimum
Continue until termination condition
Search Algorithms
Search Algorithms Geometric
Search Algorithms Geometric Lattice
Search Algorithms Geometric Lattice IteratedPattern
Search Algorithms Geometric Lattice IteratedPattern
Better search for many landscapes
Search Algorithms Geometric Lattice IteratedPattern
Provably faster for unimodal
Representations
Representations Decimals
Representations Decimals Strings
Representations Decimals Strings Integers
Representations Decimals Strings Integers
Handle real-world programs
✗Data? ✗Method?
✗Data? ✗Method?
Test Generation
Test Generation AUSTIN
Test Generation AUSTIN EvoSuite
Test Generation AUSTIN EvoSuite SchemaAnalyst
Test Generation AUSTIN EvoSuite SchemaAnalyst
AVM is used in many tools
Fitness? Search?
Fitness? Search?
Fitness? Search?
OriginalAVMplusenhance- mentsfordataandsearch
Clearimplementa- tionofcorealgorithms
Adherestotheprinciples
Freeandopen-sourcesoft- warefromavmframework.org
NewApplicationDomain
NewSearchAlgorithm
Configure
Configure Represent
Objective
Objective Report
Seethepaperformoredesign andimplementationdetails
Thetool’swebsitecontains extensivedocumentation
javaorg.avmframework. examples.Quadratic
javaorg.avmframework. examples.StringOptimization
javaorg.avmframework. examples.GenerateInputData
Input→Output StochasticBehavior
Alreadyrun: gitclone&mvnpackage
Overcomesthe challengesofusingAVM
Provablyfastersearches andnewdatatypes
Accessibleobject-oriented andalgorithmicdesign
Open-sourcedownload fromavmframework.org