stack based genetic improvement
play

Stack-Based Genetic Improvement Aymeric Blot Justyna Petke - PowerPoint PPT Presentation

Stack-Based Genetic Improvement Aymeric Blot Justyna Petke University College London, UK UK EPSRC grant EP/P023991/1 GI@ICSE 3 July 2020 RIP Larry Tesler 19452020: inventor of cut/copy & paste (and more) 1 In a Nutshell Solution


  1. Stack-Based Genetic Improvement Aymeric Blot Justyna Petke University College London, UK UK EPSRC grant EP/P023991/1 GI@ICSE — 3 July 2020 RIP Larry Tesler 1945–2020: inventor of cut/copy & paste (and more) 1

  2. In a Nutshell Solution representation in GI: ◮ Software itself ◮ Diff patch ◮ Sequence of edits Current GI edits: Proposed GI edits: ◮ Delete(l) ◮ Cut(l) ◮ Replace(l1, l2) ◮ Copy(l) ◮ Insert(l1, l2) (x2) ◮ Paste(l) (x3) ◮ ... ◮ ... Petke et al., IEEE Transactions on Evolutionary Computation, 2018 (literature review) 2

  3. Why? Are Current Edits Not Good Enough? Insert(1, 2) Delete(3) Advantages: ◮ Focus on the changes only ◮ Easy creation/mutation/crossover ◮ Close to human understanding “i” 1 2 “d” 3 ∅ Limitations: ◮ Complex high granularity “i” “d” 1 3 2 recombination ∅ ◮ Type constraints op fault fix Oliveira et al., Empirical Software Engineering, 2018 (decoupled representation) 3

  4. High Granularity Recombination op fault fix op fault fix crossover repair repair repair Example: One Point Across All Subspaces ◮ Issue: invalid, incomplete genes ◮ Solution: individual caches Oliveira et al., Empirical Software Engineering, 2018 (high granularity crossovers) 4

  5. Ensuring “Type” Validity Consistency is important! ◮ Replace([statement], [statement]) will work ◮ Replace([condition], [condition]) will work ◮ Replace([condition], [statement]) will fail horribly Possible solutions? ◮ Disable high granularity recombination ◮ Multiple decoupled sub-representations ◮ Any other complex bespoke mechanism 5

  6. Equivalent Stack-Based Edits Initial state: Cut(1) Copy(2) Paste(3) Paste(4) Copy(5) � empty patch + empty stack: [ ] Cut: Cut(1) Copy(2) Paste(3) Paste(4) Copy(5) � Delete(1) + stack: [ 1 ] Copy: Cut(1) Copy(2) Paste(3) Paste(4) Copy(5) � Delete(1) + stack: [ 1, 2 ] Paste: Cut(1) Copy(2) Paste(3) Paste(4) Copy(5) � Delete(1) Replace(3, 2) + stack: [ 1 ] Final patch: Cut(1) Copy(2) Paste(3) Paste(4) Copy(5) → Delete(1) Replace(3, 2) Replace(4, 1) + discarded stack 6

  7. “It Just Works” TM Insertion? ◮ replace = paste in place ◮ insert before = paste before ◮ insert after = paste after High granularity recombination? ◮ Simple “non-decoupled” crossover ◮ Full decoupling with Target(l) (x3), Copy(l) , Cut(l) , Paste(l) Type validity? ◮ Pop and push to type-specific stacks Spector and Robinson, Genetic Programming Evolvable Machines, 2002 (Push language) 7

  8. Conclusion Idea: ◮ Replacement set of edits ◮ Equivalent, backward compatible Advantages: ◮ Same features but simpler ◮ Built-in memorisation mechanism ◮ Automatic type separation (multiple stacks) 8

  9. Selected References Vinicius Paulo L. Oliveira, Eduardo Faria de Souza, Claire Le Goues, and Celso G. Camilo-Junior. Improved representation and genetic operators for linear genetic programming for automated program repair. Empirical Software Engineering , 23(5):2980–3006, 2018. Justyna Petke, Saemundur O. Haraldsson, Mark Harman, William B. Langdon, David R. White, and John R. Woodward. Genetic improvement of software: A comprehensive survey. IEEE Transactions on Evolutionary Computation , 22(3):415–432, 2018. Lee Spector and Alan J. Robinson. Genetic programming and autoconstructive evolution with the push programming language. Genetic Programming and Evolvable Machines , 3(1):7–40, 2002. + 1

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend