1 / 9

Leveraging Community Learning for Efficient Constraint Merging in Central Management Systems

This document discusses a system architecture designed to reduce learning costs through community collaboration, focusing on the algorithm and experiments related to merging constraints in code generation. It elaborates on the effectiveness of community learning, demonstrating how it can lower overhead while improving accuracy in management systems employing Daikon constraints. The described methodology includes examples of merging constraints, handling corner cases, and conducting thorough experiments using the Apache web server to assess performance benefits.

Télécharger la présentation

Leveraging Community Learning for Efficient Constraint Merging in Central Management Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Outline • System architecture • How to use the community to reduce learning cost • Algorithm for Merging Constraints • Experiments • Overhead • Accuracy

  2. Central Management System Patch/RepairCode Generation Merge Constraints (Daikon) Constraints Patch results Patches Learning (Daikon) Learning (Daikon) Sample Data Sample Data … … MPEE Live Shield MPEE Live Shield Application Application Application Application Client Workstations (Learning) Client Workstations (Protected) System Architecture

  3. Merge Constraints Example • W=2 • X=42 • X in {42} • X%W=0 • X-21*W=0 • W<X • Y<8 • Y<X • Y=Z|Y • Y%W=0 • W=2 • X in {3,57} • W<X • Y<9 • Y=Z|Y • Y%W=0 • Y+3*W=0 • W=2 • X in {3,42,57} • W<X • Y<8 • Y=Z|Y • Y%W=0 + = … … …

  4. Merge Constraints • Stateless constraints • Example: x=y , x=y|x , x%y=0 • Either true/false • Merging algorithm: if the constraint always appear • Sample dependent constraints • Example: x<42 , x in {1,4,8} , 3x-7y+2z=9 • Change as new samples arrive • Merging example: • x<42 and x<56 are merged to x<42 • Update number of samples, missing variables, etc. • Corner cases • Suppressed invariants, constant optimization • Small number of samples for an invariant

  5. Integration Experiments • Evaluate community effectiveness by comparing: • Learning from one copy of an application • Community-based learning (multiple executions) • Two experiments • Overhead comparison • Accuracy comparison • Infrastructure • Apache web server (HTTPD) on Windows • A community of ten or more executions of Apache

  6. Instrumentation Overhead Experiment • Baseline • Instrument 100% of Apache • Time a sequence of HTTP GET operations • (Daikon processes the single output file) • Community Learning • Instrument a different 10% of Apache in 10 executions • Instrument a different 1% of Apache in 100 executions • Each execution will create a distinct trace of part of the program • The combined executions will instrument all of Apache • (Daikon processes all trace files) • Community learning constraints match baseline constraints • Instrumentation overhead is reduced significantly

  7. Instrumentation Overhead Results • Community learning constraints match baseline constraints • Instrumentation overhead is reduced significantly

  8. Accuracy Experiment • Community Learning • Instrument 100% of Apache during 1000 HTTP operations • Divide into two sets: learning and testing • Build constraints based on • 1% of the learning set • 2% of the learning set • … • 100% of the learning set • A constraint is a false-positive is if it is violated by a sample in the testing set

  9. Accuracy Experiment Results • False positives are reduced as more community learning is used.

More Related