Presentation is loading. Please wait.

Presentation is loading. Please wait.

Subgoal: conduct an in-depth study of critical representation, operator and other choices used for evolutionary program repair at the source code level.

Similar presentations


Presentation on theme: "Subgoal: conduct an in-depth study of critical representation, operator and other choices used for evolutionary program repair at the source code level."— Presentation transcript:

1 Subgoal: conduct an in-depth study of critical representation, operator and other choices used for evolutionary program repair at the source code level. Subgoal: Develop models and simulations to understand Scalable RADAR principles and adapt them to computation. Subgoal: Extend evolutionary repair – whereby software bugs are automatically repaired using genetic programming, a technique inspired by evolution – towards a software immune system. Measuring Diversity Through Information Flow Scalable RADAR for Co-evolutionary Adaptive Environments Biological systems search complex spaces without a “leader.” Biological Principles Cells respond to environmental signals automatically. Simulation and Modeling Immune systems are composed of millions of cells. Redundancy, diversity, “wisdom of the crowd.” Genes, cells, systems adapt over multiple time scales. Subgoal: compare programs based on how they use inputs in control flow decisions. Question: How do immune systems achieve such remarkable scalability, with speed and repair independent of size? Approach: Simulate lymphoid compartments, fixed circulatory networks, cytokine communication pathways and signals. Question: How do immune systems achieve such remarkable scalability, with speed and repair independent of size? Approach: Simulate lymphoid compartments, fixed circulatory networks, cytokine communication pathways and signals. Scalability Our simulations show: The structure of the lymphatic network balances fast distribution of existing repairs vs. fast of recruitment of new repairs. Inflammatory search signals speed up immune repair by orders of by orders of magnitude, particularly in large systems. Implement Distributed Repair in real-world platforms Biology Observe & Test Simulation Model & Analyze Results: Distance between bubblesort and several other sorting algorithms (log scale). while(input[i] != ‘\0’) if(is_lowercase(input[i])) elif(is_uppercase(input[i])) Wes Weimer Melanie Moses ` Systems contain more errors and are more prone to attack than ever. The balance of power favors the attacker:  Software replicates are all vulnerable to the same attack.  System complexity precludes rapid repair. We must rethink the current cybersecurity paradigm. Stephanie Forrest (PI)Jed Crandall Insight Problem Animal immune systems can defeat multiple, adaptable adversaries. Adapt Scalable RADAR to a new, clean-slate paradigm for software development/maintenance. Demonstrate large, complex software systems that:  automatically detect attacks  repair themselves  evolve a diversity of solutions. Goal Software is a complex, evolving system. Results: Effect of modifying fault localization and operator selection probability distributions. Such feature choices significantly impact success rate and repair time, especially on more difficult bugs. With the feature sweep-suggested improvements, we automatically repair 5 new bugs (of 105) with a 17-43% reduction in repair time on more difficult bugs. Feature Sweep Question: Can our approach repair specialized embedded devices? Approach: Low-powered individual devices cooperate to find repairs more quickly. Evolutionary Program Repair Results: As the number of network nodes increases, a distributed repair strategy finds repairs faster and with a higher success rate (average over 16 programs). Distributed Repair Statically- compiled Linux binary Annotated assembly trace Branch/inp ut correlation matrix Trace r (C) DIFT (Java) B B A A Program Similarity Compare (Octave) Approach: As the program runs, build a matrix relating input to branch points. Comparing the structure of two matrices gives a program similarity measurement. Dynamic Information Flow Tracking Distance from bubble sort Hello\0 input[i] != ‘\0’111110 is_lowercase(input[i])011110 is_uppercase(input[i])100000


Download ppt "Subgoal: conduct an in-depth study of critical representation, operator and other choices used for evolutionary program repair at the source code level."

Similar presentations


Ads by Google