software mutational robustness
play

Software Mutational Robustness A presentation by Rebecca Sousa - PowerPoint PPT Presentation

Software Mutational Robustness A presentation by Rebecca Sousa Presentation Overview Introduction Background Technical Approach Experimental Results Applications Discussion Introduction Terms and Definitions Neutral mutation: a random


  1. Software Mutational Robustness A presentation by Rebecca Sousa

  2. Presentation Overview Introduction Background Technical Approach Experimental Results Applications Discussion

  3. Introduction Terms and Definitions Neutral mutation: a random change to a program that still passes the test suite ● Software mutational robustness measures the fraction of neutral mutations ● Infinite number of ways to implement an algorithm in code ● Quicksort example: ●

  4. Background Biology Environmental and mutational robustness ● Neutral neighbors and neutral spaces ● Evolutionary Computation Genetic programming (GP) ● Software Engineering Mutation Testing ● N-Version Programming ●

  5. Mutation Testing

  6. Mutation Testing

  7. Technical Approach Program P ● Variant P’ ● Mutation operators M (copy, swap, delete) ● Test suite T ● Finding: MutRB does not depend strongly on P or T ●

  8. Representation and Operators Representation Abstract syntax trees (AST) ● Low-level assembly code (ASM) ● Operators Copy ● Delete ● Swap ●

  9. Representation and Operators

  10. Experimental Results 22 benchmark programs with test suites ● Sorters ○ Siemens ○ Off-the-shelf ○ First order mutation : apply a single random mutation to copy of program ● Want to rule out trivial mutations that produce equivalent assembly code ● 36.8% of variants continue to pass all test cases (?!) ● What is the cause of this? ● Inadequate test suites (bad) ○ Semantically equivalent mutations (good) ○

  11. Does robustness depend on test suite?

  12. Taxonomy of Neutral Variants

  13. Cumulative Robustness

  14. Multiple Languages

  15. Application: Proactive Bug Repair

  16. Application: N-Version Programming ● Want to develop N independent software instances ● Separate teams of human programmers likely to create similar programs - creating independence is hard! ● Solution: generate independent programs through neutral mutations

  17. Discussion Threats to Validity Applications to Software Engineering Choice of mutation operators Optimization ● ● Insufficient test suites Automated program repair ● ● Mutation testing ● Further Investigation Comparison to Biology Landscape of neutral variants ● Markov Chain Monte Carlo Role of neutrality in evolution ● ●

  18. Thank You! Any questions?

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