Views
5 years ago

Dynamic State Restoration Using Versioning ... - Purdue University

Dynamic State Restoration Using Versioning ... - Purdue University

14 abstract values that

14 abstract values that x may acquire; for any label l, F(l) returns the abstract values produced by the expression with label l. Four maps are used to produce necessary reachability information: 1. For any expression [e] l , the continuation map K(l) returns the set of e’s continuations. 2. For any expression [e] l , the use map U(l) gives the set of variables referenced in e. 3. For any expression [e] l , the def map M(l) gives the list of variables bound to locations that are modified in this expression by an assignment statement. 4. Map A defines points-to and pointed-by relations for each variable. These help in capturing data dependencies among store locations, which allows us to inductively build reachability information through elements in the store. The integer superscript is used to differentiate between points-to and pointed-by relations. We elaborate on the structure of these maps below. Flow Function The specification of the flow function is defined in terms of subset constraints for a typical monovariant (flow- and context-insensitive) flow analysis [19, 31]. Its specification relies on a helper function last : Exp → P(Exp) that returns the set of the last sub-expression(s) of an expression. The function is defined as follows: last(let x=s in e) = last(e) last(try(x,e)) = last(e) last(if xthen e1 elsee2) = last(e1) ∪ last(e2) last(x1 := x l 2 ) = {xl 2 } last(restore(x,y)) = ∪ Excpn〈l〉∈F(x),[vExn(z)] l ∈P,λw.e∈F(z) last(e) otherwise last(e l ) = {e l } Note that for the restore expression, last returns the last subexpression(s) of the set of exception handlers that could be called. To avoid enforcing constraints on dead code, we only require constraints to hold on initialized expressions, where InitF is the smallest set of subexpressions of P that includes P and is closed under the following rules: 1. If let x = s ine ∈ InitF and s �= y(z), {s,e} ∈ InitF. final.tex; 26/05/2005; 13:59; p.14

If e ∈ InitF and e is − let x = cine ′ , then typeOf(c) ∈ F(x). − let x = Pr(x1,...,xn)ine ′ , then typeOf(Pr(x1,. . .,xn)) ∈ F(x). − let x = [λw.e ′ ] l ine, then LamExp〈l〉 ∈ F(x). − let x = [ref y] l ine ′ , then RefExp〈l〉 ∈ F(x), and F(y) ⊆ F(l). − let x = !y ine ′ , then ∀RefExp〈l〉 ∈ F(y), F(l) ⊆ F(x). − let x = [vExn(y)] l ine ′ , then Excpn〈l〉 ∈ F(x) and F(y) ⊆ F(l). − let x = y(z)in e ′ , then ∀LamExp〈l〉 ∈ F(y), ∀[λ w.e ′′ ] l ∈ P, F(z) ⊆ F(w), and if last(e ′′ ) ∈ InitF, and last(e ′′ ) = e l′ b , then F(l′ ) ⊆ F(x). − x1 := x2, then ∀RefExp〈l〉 ∈ F(x1), F(x2) ⊆ F(l). − [try(x,e ′ )] l , then (a) if last(e) ∈ InitF and last(e) = el′ b , then F(l′ ) ⊆ F(l) (b) ∀[restore(y,z)] l′′ ∈ P such that F(x)∩F(y) �= φ, F(l ′′ ) ⊆ F(l). − [restore(x,y)] l , then ∀Excpn〈l ′ 〉 ∈ F(x), [vExn(z)] l′ ∈ P, ∀[λw.eb] l′′ ∈ F(z) (a)F(y) ⊆ F(w) (b) if last(eb) ∈ InitF and last(eb) = e l′′′ t , then F(l ′′′ ) ⊆ F(l). Figure 9. Flow analysis constraints. 2. If let x = y(z)in e ∈ InitF and λ w.e ′ ∈ F(y) then: (a) e ′ ∈ InitF. (b) if last(e ′ ) ∈ InitF, then e ∈ InitF. 3. If if xthene1 else e2 ∈ InitF then {e1,e2} ∈ InitF. 4. If try(x,e) ∈ InitF, then e ∈ InitF. 5. If restore(x,y) ∈ InitF, Excpn〈l〉 ∈ F(x),[vExn(z)] l ∈ P,λw.e ∈ F(z) then e ∈ InitF. The flow constraints for the language are given in Fig 9. Most of the rules are standard. The flow analysis associates an abstract exception value with exception constructors; this value contains the program label of the constructor expression. A try block results in flows being 15 final.tex; 26/05/2005; 13:59; p.15

RESTORING THE WEST 2009 - Forestry - Utah State University
PDF version - Ferris State University
restoring trust in government - Rutgers, The State University of New ...
Radiation Safety Training for Use of Radioactive ... - Purdue University
RESTORING THE WEST 2011 - Forestry - Utah State University
RESTORING THE WEST 2010 - Forestry - Utah State University
Restoring the West 2006 - Forestry - Utah State University
Restricted use data - Panel Study of Income Dynamics - University of ...
Firm's Image Restoration Strategies - Columbus State University
Fall 2011 PDF version - Ferris State University
Trace-Based Memory Aliasing Across Program ... - Purdue University
Jan Vitek - Purdue University
Quantification of dynamic changes in cerebral ... - Purdue University
Dynamic Cryptographic Hash Functions - Cerias - Purdue University
Study of Dynamic Voltage Restorer using Diode ... - Wseas.us
2006 outreach directory web version - Purdue University
Print version - Purdue Extension Entomology - Purdue University
Full text (Working paper version) - Purdue University
Voltage Sag Mitigation Using Dynamic Voltage Restorer System - ijcee
ArcEditor (single use) - Purdue University Libraries
PURDUE UNIVERSITY CHAPTER - United States Naval Academy
Reliability of functional localization using fMRI - Purdue University
An evaluation of the use of passive shimming to ... - Purdue University
Corn - Office of Indiana State Chemist - Purdue University
Detection of Neural Activity in fMRI Using ... - Purdue University
Cerebral activation using a MR-compatible ... - Purdue University
restitution of voltage using fuel cell based dynamic voltage restorer