monde safe updating through monitored deployment of new
play

MonDe: Safe Updating through Monitored Deployment of New Component - PowerPoint PPT Presentation

MonDe: Safe Updating through Monitored Deployment of New Component Versions Alessandro Orso Jonathan Cook Georgia Institute New Mexico of Technology State University SPARC Group This work was supported in part by NSF awards CCR-0306457,


  1. MonDe: Safe Updating through Monitored Deployment of New Component Versions Alessandro Orso Jonathan Cook Georgia Institute New Mexico of Technology State University SPARC Group This work was supported in part by NSF awards CCR-0306457, EIA-9810732, and EIA-0220590 to New Mexico State University and CCR-0205422, CCR-0306372, and CCR-0209322 to Georgia Tech.

  2. Idea Paper Group

  3. Software Updating Program Program Program Program Instance Instance Program Instance Instance Program Program Instance Program Instance Program Instance Program Instance Instance Instance u p d a t e Group

  4. Software Updating Program Program Program Program Instance Instance Program Instance Instance Program Program Instance Program Instance Program Instance Program Instance Instance Instance u p d a t e Inadequate verification (not representative) • User profiles unknown • User configurations unknown • Too many profiles/configs • Hard to prioritize/focus testing effort Group

  5. Proposed Solution: MonDe MonDe: Monitored Deployment • Deploy updates at remote sites • Run new version in a sandbox using actual workload • Report the results back to developers Group

  6. MonDe Framework Development Site Deployment Site(s) Monitoring Environment Program Instance New Version New Version of deployment Development Component Group

  7. MonDe Framework Development Site Deployment Site(s) Program Monitoring Instance Environment New Version New Version of deployment Development Component Old Version of Component Group

  8. MonDe Framework Development Site Deployment Site(s) Program Monitoring Monitoring results Instance Output Environment Analysis Capture New Version Harness New Version of deployment Development Component Old Version of Component Group

  9. Capture Harness Program Instance Monitoring Environment Capture IN OUT √ Harness IN OUT IN OUT New Version of Component Old Version of Component Group

  10. Capture Harness Program Instance Monitoring Environment Capture × Harness IN OUT IN OUT IN OUT New Version of Component Old Version of Component Group

  11. MonDe: Advantages • Perform evaluation on real user data • Leverage remote resources • Protect user data privacy (mostly) • Enable pre-processing of execution results • Avoid/limit false negatives (?) • Produce useful reports (?) Group

  12. MonDe: Requirements Capture capability • Identify boundaries SW/new component • Record interaction through boundaries Execution and monitoring capability • Replay captured interactions in sandbox • Observe and report results ⇒ Two approaches proposed • Offline (SCARPE) • Online (DDL) Group

  13. SCARPE: Selective CApture and Replay of Program Executions Defined for Java applications Group

  14. SCARPE: Capture Phase • Input observed set • Identify observed- set’s boundaries • Collect interactions and data across boundaries • method calls/returns • exceptions • field accesses = > event log Group

  15. SCARPE: Replay Phase • Provide replay scaffolding • Process event log • Create classes • Replay interactions Group

  16. DDL: Dynamic Dynamic Linker • Enables dynamic wrapper binding, and reconfiguration • Harness for C++ captures: • incoming method invocations and returns • constructors and destructors • outgoing method/function invocations Group

  17. DDL Online Monitoring New Component Version Application Existing Component Version Component Arbiter DDL (Dynamic Dynamic Linker) Group

  18. Conclusion • MonDE for safe deployment of new versions • Offline or online techniques possible • SCARPE and DDL Group

  19. Open Issues • Definition of oracles • What is a failure? • How can we filter? • Identification of boundaries • Currently, hammocks, but other approaches possible (e.g., analyze how much flows across i/f, select low-flow cuts) • Optimization of capture/interception • Privacy issues Group

  20. Questions? Group

Recommend


More recommend