GI using Deep Parameter Tuning
Mark Harman Yue Jia Jens Krinke Wes Weimer Fan Wu
GI using Deep Parameter Tuning Mark Fan Wu Wes Weimer Yue Jia - - PowerPoint PPT Presentation
GI using Deep Parameter Tuning Mark Fan Wu Wes Weimer Yue Jia Jens Krinke Harman Why GI for non-functional properties Non-Functional Functional Requirements Requirements humans have to a machine can define these optimise these
Mark Harman Yue Jia Jens Krinke Wes Weimer Fan Wu
Functional Requirements Non-Functional Requirements
Program
Program
Program
GP
Program
GP Test cases Fitness
Program
GP Test cases Fitness
Program’
Program
GP Test cases Fitness
Program’
Program
Tuneable Parameters
e.g. GCC -O3 foo.c
Program
Tuneable Parameters
e.g. GCC -O3 foo.c
Good alternative for GI?
Program
Tuneable Parameters
Not Many Tuneable Parameters Limited power Good alternative for GI?
Program
Tuneable Parameters
Many software systems contain undocumented internal variables or expressions that also affect the performance of the systems.
Program
Tuneable Parameters
Many software systems contain undocumented internal variables or expressions that also affect the performance of the systems.
Program
Tuneable Implicit Parameters Tuneable Parameters
Our approach
Program
Tuneable Implicit Parameters Tuneable Parameters (Shallow Parameters)
(Deep Parameters) NSGAII Opentuner Dynamic Knobs
Genetic Improvement (GI) aims to find improved versions of existing programs that retain some partial semantics of the
EASY Lightweight Easy to use Less fragile
Program
GP Test cases Fitness
Program’
Program
Program
Mutation Testing Test cases
C Mutation Testing tool : Milu
Program
Mutation Testing Pseudo Equivalent Mutants: Mutants are not killed by any tests
Non-dominated Rank Pseudo Equivalent Mutants
Exposing Deep Parameters
Exposing Deep Parameters Given a location L, and E is the expression at L L arithmetic expression logical expression
Exposing Deep Parameters Given a location L, and E is the expression at L L arithmetic expression logical expression
Program GI
Program Program library GI GI library library GI GI
Program Program library GI GI library library GI GI
General purpose memory allocator dlmalloc by Doug Lea
9 Deep Parameters Repeat 10 times (cpu time and memory) Repeated 20 times
Espresso gawk flex sed dlmalloc dlmalloc dlmalloc dlmalloc
Shallow Parameters Only Deep + Shallow Parameters Only
Espresso gawk flex sed dlmalloc dlmalloc dlmalloc dlmalloc
Shallow Parameters Only Deep + Shallow Parameters Only Random NSGAII
Managed by allocator
Heap
Managed by allocator In use
Heap
Managed by allocator In use
Heap
Managed by allocator In use
Heap
Managed by allocator In use
Heap
Software Tuning panel for Autonomic Control (STAC) Autotuner / PowerDial
Mutation analysis based approach to expose deep parameters 12% on time, 21% on memory
Input Domain ?
Program Program library GI GI