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

monde safe updating through monitored deployment of new
SMART_READER_LITE
LIVE PREVIEW

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,


slide-1
SLIDE 1

Jonathan Cook New Mexico State University Alessandro Orso Georgia Institute

  • f Technology

MonDe: Safe Updating through Monitored Deployment of New Component Versions

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.

slide-2
SLIDE 2

Group

Idea Paper

slide-3
SLIDE 3

Group

Program Instance Program Instance Program Instance Program Instance Program Instance Program Instance Program Instance Program Instance Program Instance

u p d a t e

Program Instance

Software Updating

slide-4
SLIDE 4

Group

Program Instance Program Instance Program Instance Program Instance Program Instance Program Instance Program Instance Program Instance Program Instance

u p d a t e

Program Instance

Software Updating

Inadequate verification (not representative)

  • User profiles unknown
  • User configurations unknown
  • Too many profiles/configs
  • Hard to prioritize/focus

testing effort

slide-5
SLIDE 5

Group

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
slide-6
SLIDE 6

Group

MonDe Framework

Deployment Site(s) Development Site

New Version Development Program Instance Monitoring Environment

deployment

New Version

  • f

Component

slide-7
SLIDE 7

Group

MonDe Framework

Deployment Site(s) Development Site

New Version Development Program Instance Old Version of Component Monitoring Environment New Version

  • f

Component

deployment

slide-8
SLIDE 8

Group

MonDe Framework

Deployment Site(s) Development Site

New Version Development Monitoring Output Analysis Program Instance Capture Harness Old Version of Component Monitoring Environment New Version

  • f

Component

deployment results

slide-9
SLIDE 9

Group

Program Instance Monitoring Environment Capture Harness

Capture Harness

Old Version of Component New Version

  • f

Component

IN OUT IN OUT√ IN OUT

slide-10
SLIDE 10

Group

×

Program Instance Monitoring Environment Capture Harness

Capture Harness

Old Version of Component New Version

  • f

Component

IN OUT IN OUT IN OUT

slide-11
SLIDE 11

Group

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 (?)
slide-12
SLIDE 12

Group

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)
slide-13
SLIDE 13

Group

SCARPE: Selective CApture and Replay of Program Executions

Defined for Java applications

slide-14
SLIDE 14

Group

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

slide-15
SLIDE 15

Group

SCARPE: Replay Phase

  • Provide replay

scaffolding

  • Process event log
  • Create classes
  • Replay interactions
slide-16
SLIDE 16

Group

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
slide-17
SLIDE 17

Group

DDL Online Monitoring

DDL (Dynamic Dynamic Linker) Component Arbiter Application Existing Component Version New Component Version

slide-18
SLIDE 18

Group

Conclusion

  • MonDE for safe deployment of new

versions

  • Offline or online techniques possible
  • SCARPE and DDL
slide-19
SLIDE 19

Group

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
slide-20
SLIDE 20

Group

Questions?