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
Traditional GI Process Program
Traditional GI Process Program
Traditional GI Process Program GP
Traditional GI Process Program GP Test cases Fitness
Traditional GI Process Program’ Program GP Test cases Fitness
Traditional GI Process Program’ Program GP Test cases Fitness
Parameter Tuning Tuneable Parameters Program e.g. GCC -O3 foo.c
Parameter Tuning Tuneable Parameters Program e.g. GCC -O3 foo.c Good alternative for GI?
Parameter Tuning Tuneable Parameters Not Many Tuneable Parameters Limited power Program Good alternative for GI?
Parameter Tuning Tuneable Parameters Program Many software systems contain undocumented internal variables or expressions that also affect the performance of the systems.
Parameter Tuning Tuneable Parameters Tuneable Parameters Our approach Program Program Tuneable Implicit Parameters Many software systems contain undocumented internal variables or expressions that also affect the performance of the systems.
Deep Parameter Tuning Tuneable Parameters (Shallow Parameters) Program NSGAII Tuneable Implicit Parameters (Deep Parameters) Opentuner Dynamic Knobs
Is this GI? Genetic Improvement (GI) aims to find improved versions of existing programs that retain some partial semantics of the original (and possibly some of its syntax too)
Comparing to GI EASY Less fragile Easy to use Lightweight
Our approach Program’ Program GP Test cases Fitness
Our approach Program
Our approach Mutation Testing Program Test cases
Mutation Operators C Mutation Testing tool : Milu
Our approach Mutation Testing Program Pseudo Equivalent Mutants: Mutants are not killed by any tests
Our approach Non-dominated Rank Pseudo Equivalent Mutants
Our approach Exposing Deep Parameters
Our approach Given a location L, and E is the expression at L L arithmetic expression logical expression Exposing Deep Parameters
Our approach Given a location L, and E is the expression at L L arithmetic expression logical expression Exposing Deep Parameters
Why to apply GI? Program GI
Why to apply GI? GI library Program Program library GI GI library GI
Why to apply GI? GI library Program Program library GI GI library GI General purpose memory allocator dlmalloc by Doug Lea
Experiment Subjects
Experiment Settings 9 Deep Parameters Repeat 10 times (cpu time and memory) Repeated 20 times
Experiments Espresso dlmalloc Shallow Parameters Only gawk dlmalloc flex Deep + Shallow Parameters Only dlmalloc sed dlmalloc
Experiments Random NSGAII Espresso dlmalloc Shallow Parameters Only gawk dlmalloc flex Deep + Shallow Parameters Only dlmalloc sed dlmalloc
Results : Optimisation Quality
Results : Optimisation Quality
Results: Reduction
Results : Execution cost
Deep Parameter Example Heap Managed by allocator
Deep Parameter Example Heap Managed by allocator In use
Deep Parameter Example Heap Managed by allocator In use
Deep Parameter Example Heap Managed by allocator In use
Deep Parameter Example Heap Managed by allocator In use
Related work Software Tuning panel for Autonomic Control (STAC) Autotuner / PowerDial
Summary Mutation analysis based approach to expose deep parameters 12% on time, 21% on memory Input Domain ? Program Program GI GI library
Recommend
More recommend