10 likes | 152 Views
Scalable RADAR for Co-evolutionary Adaptive Environments. Question : Can our existing approach be adapted to repair specialized embedded devices?. Approach: Extend our existing platforms by further examining biological factors.
E N D
Scalable RADAR for Co-evolutionary Adaptive Environments Question: Can our existing approach be adapted to repair specialized embedded devices? Approach: Extend our existing platformsby further examining biological factors Subgoal: Develop models and simulations to understand Scalable RADAR principles and adapt them to computation, specifically to improve our existing techniques Approach: While individual devices may lack the computing speed to efficiently find repairs, they can cooperate to explore the search space and find repairs more quickly Goal • Answer: Diversity decreases with increased connectivity and communication. Diversity decreases network vulnerability, even whenitincreasesindividualvulnerability. • Example: Despite larger individual vulnerabilities (in red),The group AB above is less vulnerable than CDE Problem Future: Simulate spread of both attacks and repairs simultaneously Insight Scalable RADAR Question: What effect does diversity have on vulnerability? Answer: There is a trade-off between many small nodes and few large nodes – rate of distribution of repairs vs. speed of recruitment of new repairs. Therefore, we will study X and Y Question 1: How much do FIXME search signals speed up immune repair? Answer: Biologically, as the size of the search space increases, the effect of signals improves performance by orders of magnitude Question 2: How much does the structure of the lymphatic system speed up repair? Biological Principles Research 2: InformationDiversity through Information Flow Research 1: Evolutionary Program Repair • Insight: Attacks and defects have unique information flow signatures. Conversely, bug fixes exhibit information flows that differ in a significant manner from the original program • Status: Prototype currently handles 60% of X86 Instruction FIXME: MORE DETAILED RESULTS HERE • 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. • Subgoal: Gauge the diversity of programs based on the information flow resulting from unique inputs with the goal of measuring program diversity more systematically and with greater precision Systematic Study of Improved Automatic Program Repair Scalable • Subgoal: Improve the evolutionary repair process and test the new approach on known bugs from real-world programs, examining cost per bug over 5 million lines of code with 10,000 test cases Immune systems are composed of millions of cells. for(Loop = 0; Input[Loop] != ‘\0’; Loop++){ … if ((Input[Loop] >= ‘a’) && (Input[Loop] <= ‘z’)) { … else if((Input[Loop] >= ‘a’) && (Input[Loop] <= ‘z’)) { … } • Approach: Enhance several fundamental steps throughout the process and attempt to fix 105 indicative bugs found in existing programs • Result: Improvements yielded 68% more patches. Based on Amazon EC2 cloud service rates, 55 bugs were fixed at an average cost of $7.32 per bug Robust Redundancy, diversity, “wisdom of the crowd.” • Approach:Construct matrices (as pictured above) relating input to branch decisions. Judge the diversity of programs by comparing their structure in a way that is robust to small, simple changes Adaptive • Animal immune systems can defeat multiple, adaptable adversaries. Research 3: Simulation and Modeling Genes, cells, systems adapt over multiple time scales. Mutational Robustness and Proactive Diversity Study of the Immune System Evaluating Diversity Distributed Repair Subgoal 1: Examine whether there is a computational analog for biological mutational robustness and thus quantify the ability of random changes to produce variants that retain specified program behavior Mutational robustness: Independent of programming language, domain, and test suit coverage, the fraction of program variants with identical behavior on all available test cases is 36.75% in 22 programs Software is a complex, evolving system. Decentralized Search Biological systems search complex spaces without a “leader.” Subgoal 2: Show that we can use mutational robustness to proactively fix unknown bugs while retaining specified functionality Results: We can fix 40% of unknown bugs on average. To do so we select a population of variants based on computational analogs of biological diversity ` • 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. Automated Response Cells respond to environmental signals automatically. Melanie Moses Jed Crandall Stephanie Forrest (PI) Wes Weimer