1 / 9

Outline

Outline. System architecture How to use the community to reduce learning cost Algorithm for Merging Constraints Experiments Overhead Accuracy. Central Management System. Patch/Repair Code Generation. Merge Constraints (Daikon). Constraints. Patch results. Patches. Learning (Daikon).

Download Presentation

Outline

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