dissertation proposal the evolution of robust software
play

Dissertation Proposal: The Evolution of Robust Software Eric - PowerPoint PPT Presentation

Dissertation Proposal: The Evolution of Robust Software m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a


  1. Dissertation Proposal: The Evolution of Robust Software m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Dissertation Proposal: The Evolution of Robust Software Eric Schulte University of New Mexico August 15, 2012 1/28

  2. Dissertation Proposal: The Evolution of Robust Software m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Outline r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b 1 Introduction 2 Related Work 3 Preliminary Work 4 Further Research 5 Applications 6 Conclusion 2/28

  3. Dissertation Proposal: The Evolution of Robust Software Introduction m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Natural Selection of Software r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Insight Over the past 50 years developers and engineers have selected , copied , modified , and pasted software tools, environments and code in a process resembling natural selection . Research Questions • What effects have these processes had on software? • Can these insights lead to new tools and techniques? 3/28

  4. Dissertation Proposal: The Evolution of Robust Software Introduction m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Motivation r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Need • 1.3 Million employed software developers in the US in 2008. • Expect 21% increase by 2018 [Bureau of Labor Statistics, 2011]. Opportunity Software Engineering Biology [Weimer et al., 2009] [Beal and Sussman, 2008] [Holland, 1992] [Raman and Wagner, 2010] [Rinard et al., 2004] [Perkins et al., 2009] 4/28

  5. Dissertation Proposal: The Evolution of Robust Software Related Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Biological Robustness r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Genotype and Phenotype Realms genotype genetic information which specifies an organism phenotype resulting physical organism in the world Robustness genotypic ( mutational ) robustness to internal variance in genetic information phenotypic ( environmental ) robustness to external variance in the world 5/28

  6. Dissertation Proposal: The Evolution of Robust Software Related Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Biological Robustness r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Mechanisms of robustness • Important amino acids over represented [Knight et al., 1999] • Buffer changes (e.g., metabolic pathways) [Wagner, 2005] • Degenerate vital functions [Edelman and Gally, 2001] (from http://www.raymondcheong.com/) 6/28

  7. Dissertation Proposal: The Evolution of Robust Software Related Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Biological Robustness r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Robustness and Evolution • Evolution finds large neutral spaces • Evolution increases mutational robustness [Van Nimwegen et al., 1999] • Accrued genetic information leads to evolutionary innovation [Ciliberti et al., 2007] 7/28

  8. Dissertation Proposal: The Evolution of Robust Software Related Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Evolutionary Computation r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Digital Evolution Computational simulation of adaptive systems [Holland, 1962]. Avida [Ofria and Wilke, 2004] • computational models which mimic evolved biological systems • allow time frames and controls impossible in-situ (used under the GNU Free Documentation License) 8/28

  9. Dissertation Proposal: The Evolution of Robust Software Related Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Evolutionary Computation r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Genetic Programming • Natural selection as a heuristic used to program computers • Simplified programming languages [Koza, 1992] • Used to repair real-world extant software written by humans m * a i f ( b r r b ; a a g e a i ! s h v t n = l c [ n e ( ] i b i ) ; n , ; ) + c i a g + r t a n a i g a + t ) n c ) ; b ; , ] i i [ = ( n e c v n t l h g ! s i a a r b a e m r a ; ( * i f b 9/28

  10. Dissertation Proposal: The Evolution of Robust Software Related Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Software Engineering r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Acceptably Correct Computation • Ignore memory errors [Rinard et al., 2004] • Hallucinate acceptable inputs [Beal and Sussman, 2008] • Dynamically enforce learned invariants [Perkins et al., 2009] • Drop loop executions at runtime [Misailovic et al., 2011] 10/28

  11. Dissertation Proposal: The Evolution of Robust Software Preliminary Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Software Mutational Robustness r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Software Mutational Robustness : The fraction of mutants of software that are functional. 11/28

  12. Dissertation Proposal: The Evolution of Robust Software Preliminary Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Software Mutational Robustness r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Software Mutational Robustness : The fraction of mutants of software that are functional. software Depends upon: • The software itself 11/28

  13. Dissertation Proposal: The Evolution of Robust Software Preliminary Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Software Mutational Robustness r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Software Mutational Robustness : The fraction of mutants of software that are functional. mutants Depends upon: • The software itself • The mutation operators 11/28

  14. Dissertation Proposal: The Evolution of Robust Software Preliminary Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Software Mutational Robustness r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Software Mutational Robustness : The fraction of mutants of software that are functional. functional Depends upon: • The software itself • The mutation operators • The test of functionality 11/28

  15. Dissertation Proposal: The Evolution of Robust Software Preliminary Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Software Mutational Robustness r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Software Mutational Robustness : The fraction of mutants of software that are functional. Independent of: • The software itself • The mutation operators • The test of functionality 11/28

  16. Dissertation Proposal: The Evolution of Robust Software Preliminary Work m c h t a b c , a i n ; = a g ! i r ) i a n r ] n ( ( a * [ f v t i t n g ; Software Mutational Robustness r b i a a [ i ( r ] f n g * ) n t ( i c r i a a , a n i ! = m c h t a ; b Mutation Operators → → → (a) Insert AST (b) Delete AST (c) Swap AST movq 8(%rdx), %rdi movq 8(%rdx), %rdi movq 8(%rdx), %rdi movq 8(%rdx), %rdi movq 8(%rdx), %rdi movq 8(%rdx), %rdi xorl %eax, %eax xorl %eax, %eax xorl %eax, %eax xorl %eax, %eax xorl %eax, %eax xorl %eax, %eax movq -80(%rbp), %rdx movq -80(%rbp), %rdx movq %rdx, -80(%rbp) addl $1, %r14d movq %rdx, -80(%rbp) movq -80(%rbp), %rdx addl $1, %r14d addl $1, %r14d addl $1, %r14d call atoi addl $1, %r14d addl $1, %r14d → → → call atoi call atoi call atoi movq %rdx, -80(%rbp) call atoi call atoi movq %rdx, -80(%rbp) movq -80(%rbp), %rdx movq -80(%rbp), %rdx movl %eax, (%r15) movq -80(%rbp), %rdx movq %rdx, -80(%rbp) movl %eax, (%r15) movq -80(%rbp), %rdx movl %eax, (%r15) addq $4, %r15 movl %eax, (%r15) movl %eax, (%r15) addq $4, %r15 movl %eax, (%r15) addq $4, %r15 addq $4, %r15 addq $4, %r15 addq $4, %r15 (d) Insert ASM (e) Delete ASM (f) Swap ASM ( ELF level mutation operators not shown ) 12/28

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