log in  |  register  |  feedback?  |  help
Logo
A DSL Approach to Reconcile Equivalent Divergent Program Executions
Monday, June 26, 2017, 11:00 am-12:00 pm Calendar
  • You are subscribed to this talk through .
  • You are watching this talk through .
  • You are subscribed to this talk. (unsubscribe, watch)
  • You are watching this talk. (unwatch, subscribe)
  • You are not subscribed to this talk. (watch, subscribe)
Abstract

Multi-Version Execution (MVE) deploys multiple versions of the same program,
typically synchronizing their execution at the level of system calls. By
default, MVE requires all deployed versions to issue the same sequence of system
calls, which limits the types of versions which can be deployed.  In this paper,
we propose a Domain-Specific Language (DSL) to reconcile expected divergences
between different program versions deployed through MVE. We evaluate the DSL by
adding it to an existing MVE system (Varan) and testing it via three scenarios:
(1) deploying the same program under different configurations, (2) deploying
different releases of the same program, and (3) deploying dynamic analyses in
parallel with the native execution. We also present an algorithm to
automatically extract DSL rules from pairs of system call traces.  Our results
show that each scenario requires a small number of simple rules (at most 14
rules in each case) and that writing DSL rules can be partially automated.

This talk is organized by Shiyi Wei