Semantic Array Dataflow Analysis

Size: px
Start display at page:

Download "Semantic Array Dataflow Analysis"

Transcription

1 Semantic Array Dataflow Analysis Paul Iannetta UCBL 1, CNRS, ENS de Lyon, Inria, LIP, F-69342, LYON Cedex 07, France Laure Gonnord UCBL 1, CNRS, ENS de Lyon, Inria, LIP, F-69342, LYON Cedex 07, France Lionel Morel Univ Grenoble Alpes, CEA, List F Grenoble, France Tomofumi Yuki Inria, Univ Rennes, CNRS, IRISA F Rennes, France January 23, 2019 If you think I missed a reference please tell me! paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

2 1 Inspiration & Motivations 2 Approach 3 Direct Dependencies paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

3 1 Inspiration & Motivations 2 Approach 3 Direct Dependencies paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

4 Thesis Context (ANR CoDaS: [Gonnord 2017]) Inspiration[Alias et al. 2010]: Termination: generates affine schedules (ranking functions) with classical Polyhedral Model computations. Program semantics: approximated with (polyhedral) Abstract Interpretation. Thesis subject: A Polyhedral Model Extension which supports: Trees [Cohen 1999] Maps = allow to index arrays by array cells No closed form to access elements Need to make approximations First step here: general control flow. paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

5 A Semantic Ground For Abstract Intrepretation Not rely on syntax Set as few as possible restrictions Semantic Array Dataflow Analysis January 23, / 22

6 A Semantic Ground For Abstract Intrepretation Not rely on syntax Set as few as possible restrictions Too constrained syntax (iteration variable is apparant) for i from 0 to N [Feautrier 1991] for i from 0 while cond(i) [Griebl 1997] paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

7 A Semantic Ground For Abstract Intrepretation Not rely on syntax Set as few as possible restrictions Too constrained syntax (iteration variable is apparant) for i from 0 to N [Feautrier 1991] for i from 0 while cond(i) [Griebl 1997] Our target (general while loops) while cond(i,j,k,l) {... } paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

8 A Semantic Ground For Abstract Intrepretation Not rely on syntax Set as few as possible restrictions Too constrained syntax (iteration variable is apparant) for i from 0 to N [Feautrier 1991] for i from 0 while cond(i) [Griebl 1997] Our target (general while loops) while cond(i,j,k,l) {... } Iteration variable is not visible anymore Leads to non polyhedral programs Polyhedral approximation paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

9 Benefits of a Semantic - of Abstract Interpretation Dissociate definitions from computations: Computations are expressed within the model Can characterize dependences within the model Allows verification. Allows precise characterisations of where abstractions/approximations are made. paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

10 A Semantic Ground for Earlier Projects Be a model for compiler IR, LLVM [Grosser et al. 2012] or GCC [Trifunović et al. 2010] Integration within real compiler Composition with other optimizations Would a posteriori justify the implementation on top of a compiler IR. paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

11 1 Inspiration & Motivations 2 Approach 3 Direct Dependencies paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

12 Steps of the Approach 1 Define a barebone language Allow general programs on arrays Can be computed from a CFG paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

13 Steps of the Approach 1 Define a barebone language Allow general programs on arrays Can be computed from a CFG 2 Equip it with a dependence-enabled semantic paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

14 Steps of the Approach 1 Define a barebone language Allow general programs on arrays Can be computed from a CFG 2 Equip it with a dependence-enabled semantic 3 Show that dependences can be statically computed (equivalence with previous work). paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

15 A Barebone Language Aexp ::= Num Aexp Aop Aexp Vexp Aop ::= + - / mod Bexp ::= true false!( Bexp ) Bexp Bop Bexp Aexp Cop Aexp Bop ::= or and Cop ::= < == Vexp ::= X X [ Aexp ] Sexp ::= κ n :begin skip Sexp ; Sexp κ n :if Bexp then Sexp else Sexp fi κ n :while Bexp do Sexp done Vexp := Aexp paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

16 A Barebone Language Aexp ::= Num Aexp Aop Aexp Vexp Aop ::= + - / mod Bexp ::= true false!( Bexp ) What is important Bexp Bop about Bexp that Aexp syntax Cop is that: Aexp Allow arrays (scalars = 1-length array) Bop ::= or and Allow conditional tests to reference array cells Cop Allow::= array < cells == to be referenced by other array cells Allow while loops with no restrictions on conditions Vexp ::= X X [ Aexp ] Sexp ::= κ n :begin skip Sexp ; Sexp κ n :if Bexp then Sexp else Sexp fi κ n :while Bexp do Sexp done Vexp := Aexp paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

17 An Example Program 01 i = 0 02 while i < N 03 j = 0 04 while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 08 while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Iteration variables are not visible Add annotation to keep track of operations paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

18 Annotation 00 κ 0 :begin 01 i = 0 02 κ 1 :while i < N 03 j = 0 04 κ 2 :while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 08 κ 3 :while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Add variables which counts operations on a hierarchical level paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

19 Iteration variables κ i in the semantics What the semantic is about? Describe the evolution of an augmented state: Standard state: snapshot of the memory at time t Augmented Memory: value and last modification time The current timestamp : a vector of κs paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

20 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 0 Cell Value Last access i 0 [ κ 0 = 0 ] j A[1] A[2] k A[3] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

21 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 Cell Value Last access i 0 [ κ 0 = 0 ] j A[1] A[2] k A[3] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

22 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 0 Cell Value Last access i 0 [ κ 0 = 0 ] j 0 [ κ 0 = 1, κ 1 = 0 ] A[1] A[2] k A[3] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

23 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 1 Cell Value Last access i 0 [ κ 0 = 0 ] j 0 [ κ 0 = 1, κ 1 = 0 ] A[1] A[2] k A[3] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

24 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 1 κ 2 0 Cell Value Last access i 0 [ κ 0 = 0 ] j 0 [ κ 0 = 1, κ 1 = 0 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] k A[3] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

25 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 1 κ 2 1 Cell Value Last access i 0 [ κ 0 = 0 ] j 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 1 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] k A[3] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

26 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 1 κ 2 2 Cell Value Last access i 0 [ κ 0 = 0 ] j 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 1 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k A[3] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

27 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 1 κ 2 3 Cell Value Last access i 0 [ κ 0 = 0 ] j 2 [ κ 0 = 1, κ 1 = 1, κ 2 = 3 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k A[3] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

28 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 2 Cell Value Last access i 0 [ κ 0 = 0 ] j 2 [ κ 0 = 1, κ 1 = 1, κ 2 = 3 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k 0 [ κ 0 = 1, κ 1 = 2 ] A[3] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

29 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 3 Cell Value Last access i 0 [ κ 0 = 0 ] j 2 [ κ 0 = 1, κ 1 = 1, κ 2 = 3 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k 0 [ κ 0 = 1, κ 1 = 2 ] A[3] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

30 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 3 κ 3 0 Cell Value Last access i 0 [ κ 0 = 0 ] j 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 3 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k 0 [ κ 0 = 1, κ 1 = 2 ] A[3] A[0] [ κ 0 = 1, κ 1 = 3, κ 3 = 0 ] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

31 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 3 κ 3 1 Cell Value Last access i 0 [ κ 0 = 0 ] j 2 [ κ 0 = 1, κ 1 = 1, κ 2 = 3 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k 1 [ κ 0 = 1, κ 1 = 3, κ 3 = 1 ] A[3] A[0] [ κ 0 = 1, κ 1 = 3, κ 3 = 0 ] A[4] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

32 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 3 κ 3 2 Cell Value Last access i 0 [ κ 0 = 0 ] j 2 [ κ 0 = 1, κ 1 = 1, κ 2 = 3 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k 1 [ κ 0 = 1, κ 1 = 3, κ 3 = 1 ] A[3] A[0] [ κ 0 = 1, κ 1 = 3, κ 3 = 0 ] A[4] A[1] [ κ 0 = 1, κ 1 = 3, κ 3 = 2 ] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

33 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 3 κ 3 3 Cell Value Last access i 0 [ κ 0 = 0 ] j 2 [ κ 0 = 1, κ 1 = 1, κ 2 = 3 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k 2 [ κ 0 = 1, κ 1 = 3, κ 3 = 3 ] A[3] A[0] [ κ 0 = 1, κ 1 = 3, κ 3 = 0 ] A[4] A[1] [ κ 0 = 1, κ 1 = 3, κ 3 = 2 ] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

34 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 4 Cell Value Last access i 1 [ κ 0 = 1, κ 1 = 4 ] j 2 [ κ 0 = 1, κ 1 = 1, κ 2 = 3 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k 2 [ κ 0 = 1, κ 1 = 3, κ 3 = 3 ] A[3] A[0] [ κ 0 = 1, κ 1 = 3, κ 3 = 0 ] A[4] A[1] [ κ 0 = 1, κ 1 = 3, κ 3 = 2 ] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

35 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 5 Cell Value Last access i 1 [ κ 0 = 1, κ 1 = 4 ] j 0 [ κ 0 = 1, κ 1 = 5 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k 2 [ κ 0 = 1, κ 1 = 3, κ 3 = 3 ] A[3] A[0] [ κ 0 = 1, κ 1 = 3, κ 3 = 0 ] A[4] A[1] [ κ 0 = 1, κ 1 = 3, κ 3 = 2 ] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

36 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 6 Cell Value Last access i 0 [ κ 0 = 1, κ 1 = 4 ] j 0 [ κ 0 = 1, κ 1 = 5 ] A[1] A[0] [ κ 0 = 1, κ 1 = 1, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k 2 [ κ 0 = 1, κ 1 = 3, κ 3 = 3 ] A[3] A[0] [ κ 0 = 1, κ 1 = 3, κ 3 = 0 ] A[4] A[1] [ κ 0 = 1, κ 1 = 3, κ 3 = 2 ] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

37 Unrolling of an Execution 00 κ 0:begin 01 i = 0 02 κ 1:while i < N j = 0 κ 2:while j < 2 05 A[i+j+1] = A[j] + j 06 j = j k = 0 κ 3:while k < 2 09 A[k+3+i] = A[k] + i 10 k = k i = i + 1 Table: Timestamp κ 0 1 κ 1 6 κ 2 0 Cell Value Last access i 1 [ κ 0 = 1, κ 1 = 4 ] j 0 [ κ 0 = 1, κ 1 = 5 ] A[1] A[0] [ κ 0 = 1, κ 1 = 6, κ 2 = 0 ] A[2] A[1] + 1 [ κ 0 = 1, κ 1 = 1, κ 2 = 2 ] k 2 [ κ 0 = 1, κ 1 = 3, κ 3 = 3 ] A[3] A[0] [ κ 0 = 1, κ 1 = 3, κ 3 = 0 ] A[4] A[1] [ κ 0 = 1, κ 1 = 3, κ 3 = 2 ] Table: Memory State paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

38 1 Inspiration & Motivations 2 Approach 3 Direct Dependencies paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

39 Trace Operation An operation is a tuple: (s, t) where s is a statement (i.e., A[i] = A[i-1] + i) t is a timestamp (i.e., [ κ 0, 3, κ 1, 1 ] ) o 0 o 1 o i o i+1 paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

40 Trace Operation An operation is a tuple: (s, t) where s is a statement (i.e., A[i] = A[i-1] + i) t is a timestamp (i.e., [ κ 0, 3, κ 1, 1 ] ) o 0 o 1 o i o i+1 Zoom on the state of the memory at o i o i = (s, t) [ A[21] κ0, 3, κ 1, 1 ] paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

41 Dependence Definition Inspired from [Feautrier 1991]. Dependence: o 2 depends on an operation o 1 1 o 1 is valid (i.e., it belongs to a trace) 2 o 1 = (s 1, t 1 ) occurs before o 2 = (s 2, t 2 ) t 1 < lex t 2 3 o 2 = (s 2, t 2 ) is reading and/or writing a cell that o 1 = (s 1, t 1 ) wrote s1 is A[f (i, j, k)] =... s 2 is... = A[g(l, r)] f (i, j, k) = g(l, r) In (3), the access uses real variables paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

42 Dependence Computation I [...] 08 κ 3 :while k < 2 09 A[k+3+i] = A[k] + i 10 k = k + 1 [...] 1 Express timestamps as function of real variables 1 Express the relation between variables before and after a loop step k k + 1 κ 3 κ Compute the transitive closure (if the loop is affine) [Verdoolaege et al. 2011] κ 3 = 3k paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

43 Dependence Computation II [...] 08 κ 3 :while k < 2 09 A[k+3+i] = A[k] + i 10 k = k + 1 [...] 2 Solve the parametrized integer linear programs Parameters: i, k Conditions: 0 i, k, i, k k i = k 3 Express back the dependences within our model paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

44 Conclusion The ideas are not new. However, We got rid of the syntax We have a new dependence front-end to an integer linear program Future work, Non polyhedral programs Find reasonable approximations as polyhedral programs paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

45 References I C. Alias, A. Darte, P. Feautrier, and L. Gonnord. Multi-dimensional rankings, program termination, and complexity bounds of flowchart programs. In Proceedings of the 17th International Conference on Static Analysis, SAS 10, pages , A. Cohen. Program Analysis and Transformation: From the Polytope Model to Formal Languages. Theses, Université de Versailles-Saint Quentin en Yvelines, Dec URL P. Feautrier. Dataflow analysis of array and scalar references. International Journal of Parallel Programming, 20(1):23 53, L. Gonnord. Codas: Complex data-structure scheduling, April M. Griebl. The mechanical parallelization of loop nests containing while loops. PhD thesis, University of Passau, URL paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

46 References II T. Grosser, A. Groesslinger, and C. Lengauer. Polly - performing polyhedral optimizations on a low-level intermediate representation. Parallel Processing Letters, 22(04): , K. Trifunović, A. Cohen, D. Edelsohn, F. Li, T. Grosser, H. Jagasia, R. Ladelsky, S. Pop, J. Sjödin, and R. Upadrasta. GRAPHITE two years after: First lessons learned from eal-world polyhedral compilation. In 2nd GCC Research Opportunities Workshop (GROW), URL type=pdf&doi= S. Verdoolaege, A. Cohen, and A. Beletska. Transitive Closures of Affine Integer Tuple Relations and their Overapproximations. In E. Yahav, editor, Proceedings of the 18th International Static Analysis Symposium (SAS 11), volume 6887 of LNCS, pages , Venice, Italy, Sept Springer. doi: / \_18. URL paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

47 Annexe: Semantics 1/3 skip σ, skip begin σ, κ0 : begin; s upd(σ, κ 0, 0), s Assign σ, v := e ; s incr(σ[v := e]), s incr and upd incr: increments the timestamp upd: create a fresh κ or does nothing σ \ κ n remove κ n from the state paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

48 Annexe: Semantics 2/3 σ, b0 true WhT upd(σ, κn, 0), s1 + σ, skip σ, κ n : while b 0 do s 1 done ; s incr(σ ), κ n : while b 0 do s 1 done ; s σ, b 0 false WhF σ, κ n : while b 0 do s 1 done ; s incr(σ \ κ n), s σ, b0 true IT upd(σ, κn, length(s1)), s1 + σ, skip σ, κ n : if b 0 then s 1 else s 2 fi; s incr(σ \ κ n); s σ, b0 false IF upd(σ, κn, 0), s2 + σ, skip σ, κ n : if b 0 then s 1 else s 2 fi; s incr(σ \ κ n), s paul.iannetta@ens-lyon.fr Semantic Array Dataflow Analysis January 23, / 22

Approximating the Transitive Closure of a Boolean Affine Relation

Approximating the Transitive Closure of a Boolean Affine Relation Approximating the Transitive Closure of a Boolean Affine Relation Paul Feautrier ENS de Lyon Paul.Feautrier@ens-lyon.fr January 22, 2012 1 / 18 Characterization Frakas Lemma Comparison to the ACI Method

More information

HW 1 Reminder. Principles of Programming Languages. Lets try another proof. Induction. Induction on Derivations. CSE 230: Winter 2007

HW 1 Reminder. Principles of Programming Languages. Lets try another proof. Induction. Induction on Derivations. CSE 230: Winter 2007 CSE 230: Winter 2007 Principles of Programming Languages Lecture 4: Induction, Small-Step Semantics HW 1 Reminder Due next Tue Instructions about turning in code to follow Send me mail if you have issues

More information

Semantics of an Intermediate Language for Program Transformation

Semantics of an Intermediate Language for Program Transformation Semantics of an Intermediate Language for Program Transformation Sigurd Schneider Master Thesis Proposal Talk Advisors: Prof. Dr. Sebastian Hack, Prof. Dr. Gert Smolka Saarland University Graduate School

More information

Semantics and Verification of Software

Semantics and Verification of Software Semantics and Verification of Software Thomas Noll Software Modeling and Verification Group RWTH Aachen University http://moves.rwth-aachen.de/teaching/ws-1718/sv-sw/ Recap: CCPOs and Continuous Functions

More information

Programming Languages

Programming Languages CSE 230: Winter 2010 Principles of Programming Languages Lecture 3: Induction, Equivalence Ranjit Jhala UC San Diego Operational Semantics of IMP Evaluation judgement for commands Ternary relation on expression,

More information

Verification of Distributed Components : A Case - study

Verification of Distributed Components : A Case - study Verification of Distributed Components : A Case - study A. Cansado, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Fractal workshop, Nantes, 3 july 2006 Eric

More information

Proof Techniques for Operational Semantics

Proof Techniques for Operational Semantics Proof Techniques for Operational Semantics Wei Hu Memorial Lecture I will give a completely optional bonus survey lecture: A Recent History of PL in Context It will discuss what has been hot in various

More information

A Semantic Framework for Program Debugging

A Semantic Framework for Program Debugging A Semantic Framework for Program Debugging State Key Laboratory of Software Development Environment Beihang University July 3, 2013 Outline 1 Introduction 2 The Key Points 3 A Structural Operational Semantics

More information

Semantics with Applications 2b. Structural Operational Semantics

Semantics with Applications 2b. Structural Operational Semantics Semantics with Applications 2b. Structural Operational Semantics Hanne Riis Nielson, Flemming Nielson (thanks to Henrik Pilegaard) [SwA] Hanne Riis Nielson, Flemming Nielson Semantics with Applications:

More information

From Concurrent Programs to Simulating Sequential Programs: Correctness of a Transformation

From Concurrent Programs to Simulating Sequential Programs: Correctness of a Transformation From Concurrent s to Simulating Sequential s: Correctness of a Transformation VPT 2017 Allan Blanchard, Frédéric Loulergue, Nikolai Kosmatov April 29 th, 2017 Table of Contents 1 From Concurrent s to Simulating

More information

Dynamic Replication of Non-Maturing Assets and Liabilities

Dynamic Replication of Non-Maturing Assets and Liabilities Dynamic Replication of Non-Maturing Assets and Liabilities Michael Schürle Institute for Operations Research and Computational Finance, University of St. Gallen, Bodanstr. 6, CH-9000 St. Gallen, Switzerland

More information

Course objective. Modélisation Financière et Applications UE 111. Application series #2 Diversification and Efficient Frontier

Course objective. Modélisation Financière et Applications UE 111. Application series #2 Diversification and Efficient Frontier Course objective Modélisation Financière et Applications UE 111 Application series #2 Diversification and Efficient Frontier Juan Raposo and Fabrice Riva Université Paris Dauphine The previous session

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 3 Tuesday, January 30, 2018 1 Inductive sets Induction is an important concept in the theory of programming language.

More information

Half baked talk: Invariant logic

Half baked talk: Invariant logic Half baked talk: Invariant logic Quentin Carbonneaux November 6, 2015 1 / 21 Motivation Global invariants often show up: 1. resource safety (mem 0) 2. low-level code analysis (machine not crashed) 3. domain

More information

SMT and POR beat Counter Abstraction

SMT and POR beat Counter Abstraction SMT and POR beat Counter Abstraction Parameterized Model Checking of Threshold-Based Distributed Algorithms Igor Konnov Helmut Veith Josef Widder Alpine Verification Meeting May 4-6, 2015 Igor Konnov 2/64

More information

Predictive Runtime Enforcement

Predictive Runtime Enforcement Predictive Runtime Enforcement Srinivas Pinisetty 1, Viorel Preoteasa 1, Stavros Tripakis 1,2, Thierry Jéron 3, Yliès Falcone 4, Hervé Marchand 3 Aalto University, Finland University of California, Berkeley

More information

A NEW APPROACH TO MERTON MODEL DEFAULT AND PREDICTIVE ANALYTICS WITH APPLICATIONS TO RECESSION ECONOMICS TOMMY LEWIS

A NEW APPROACH TO MERTON MODEL DEFAULT AND PREDICTIVE ANALYTICS WITH APPLICATIONS TO RECESSION ECONOMICS TOMMY LEWIS A NEW APPROACH TO MERTON MODEL DEFAULT AND PREDICTIVE ANALYTICS WITH APPLICATIONS TO RECESSION ECONOMICS TOMMY LEWIS BACKGROUND/MOTIVATION Default risk is the uncertainty surrounding how likely it is that

More information

A Study of the Efficiency of Polish Foundries Using Data Envelopment Analysis

A Study of the Efficiency of Polish Foundries Using Data Envelopment Analysis A R C H I V E S of F O U N D R Y E N G I N E E R I N G DOI: 10.1515/afe-2017-0039 Published quarterly as the organ of the Foundry Commission of the Polish Academy of Sciences ISSN (2299-2944) Volume 17

More information

On-line Supplement for Constraint Aggregation in Column Generation Models for Resource-Constrained Covering Problems

On-line Supplement for Constraint Aggregation in Column Generation Models for Resource-Constrained Covering Problems Submitted to INFORMS Journal on Computing manuscript (Please, provide the mansucript number!) Authors are encouraged to submit new papers to INFORMS journals by means of a style file template, which includes

More information

A different re-execution speed can help

A different re-execution speed can help A different re-execution speed can help Anne Benoit, Aurélien Cavelan, alentin Le Fèvre, Yves Robert, Hongyang Sun LIP, ENS de Lyon, France PASA orkshop, in conjunction with ICPP 16 August 16, 2016 Anne.Benoit@ens-lyon.fr

More information

On the computational complexity of spiking neural P systems

On the computational complexity of spiking neural P systems On the computational complexity of spiking neural P systems Turlough Neary Boole Centre for Research in Informatics, University College Cork, Ireland. tneary@cs.may.ie Abstract. It is shown that there

More information

Retractable and Speculative Contracts

Retractable and Speculative Contracts Retractable and Speculative Contracts Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Franco Barbanera and Ugo de'liguoro Map of the talk What retractable/speculative

More information

Laurence Boxer and Ismet KARACA

Laurence Boxer and Ismet KARACA THE CLASSIFICATION OF DIGITAL COVERING SPACES Laurence Boxer and Ismet KARACA Abstract. In this paper we classify digital covering spaces using the conjugacy class corresponding to a digital covering space.

More information

Realtime Regular Expressions for Analog and Mixed-Signal Assertions

Realtime Regular Expressions for Analog and Mixed-Signal Assertions . Realtime Regular Expressions for Analog and Mixed-Signal Assertions John Havlicek Scott Little 1 Motivation Assertions are a key piece to industrial verification flows SVA and PSL are based upon discrete

More information

Proof Techniques for Operational Semantics. Questions? Why Bother? Mathematical Induction Well-Founded Induction Structural Induction

Proof Techniques for Operational Semantics. Questions? Why Bother? Mathematical Induction Well-Founded Induction Structural Induction Proof Techniques for Operational Semantics Announcements Homework 1 feedback/grades posted Homework 2 due tonight at 11:55pm Meeting 10, CSCI 5535, Spring 2010 2 Plan Questions? Why Bother? Mathematical

More information

Maximum Contiguous Subsequences

Maximum Contiguous Subsequences Chapter 8 Maximum Contiguous Subsequences In this chapter, we consider a well-know problem and apply the algorithm-design techniques that we have learned thus far to this problem. While applying these

More information

LaHC at INEX 2014: Social Book Search Track

LaHC at INEX 2014: Social Book Search Track LaHC at INEX 2014: Social Book Search Track Meriem Hafsi 1, Mathias Géry 1, Michel Beigbeder 2 1 Université de Lyon, F-42023, Saint-Étienne, France, CNRS, UMR 5516, Laboratoire Hubert Curien, F-42000,

More information

Chapter 2 Uncertainty Analysis and Sampling Techniques

Chapter 2 Uncertainty Analysis and Sampling Techniques Chapter 2 Uncertainty Analysis and Sampling Techniques The probabilistic or stochastic modeling (Fig. 2.) iterative loop in the stochastic optimization procedure (Fig..4 in Chap. ) involves:. Specifying

More information

Progressive Hedging for Multi-stage Stochastic Optimization Problems

Progressive Hedging for Multi-stage Stochastic Optimization Problems Progressive Hedging for Multi-stage Stochastic Optimization Problems David L. Woodruff Jean-Paul Watson Graduate School of Management University of California, Davis Davis, CA 95616, USA dlwoodruff@ucdavis.edu

More information

Implementing Candidate Graded Encoding Schemes from Ideal Lattices

Implementing Candidate Graded Encoding Schemes from Ideal Lattices Implementing Candidate Graded Encoding Schemes from Ideal Lattices Martin R. Albrecht 1, Catalin Cocis 2, Fabien Laguillaumie 3 and Adeline Langlois 4 1. Information Security Group, Royal Holloway, University

More information

Package ensemblemos. March 22, 2018

Package ensemblemos. March 22, 2018 Type Package Title Ensemble Model Output Statistics Version 0.8.2 Date 2018-03-21 Package ensemblemos March 22, 2018 Author RA Yuen, Sandor Baran, Chris Fraley, Tilmann Gneiting, Sebastian Lerch, Michael

More information

Calculational Design of Information Flow Monitors

Calculational Design of Information Flow Monitors Calculational Design of Information Flow Monitors Mounir Assaf David Naumann Stevens Institute of Technology, Hoboken, NJ November 9th, 2016 SoSySec Seminar, Rennes Mounir Assaf Calculational Design of

More information

Brief Notes on the Category Theoretic Semantics of Simply Typed Lambda Calculus

Brief Notes on the Category Theoretic Semantics of Simply Typed Lambda Calculus University of Cambridge 2017 MPhil ACS / CST Part III Category Theory and Logic (L108) Brief Notes on the Category Theoretic Semantics of Simply Typed Lambda Calculus Andrew Pitts Notation: comma-separated

More information

Ant colony optimization approach to portfolio optimization

Ant colony optimization approach to portfolio optimization 2012 International Conference on Economics, Business and Marketing Management IPEDR vol.29 (2012) (2012) IACSIT Press, Singapore Ant colony optimization approach to portfolio optimization Kambiz Forqandoost

More information

A Knowledge-Theoretic Approach to Distributed Problem Solving

A Knowledge-Theoretic Approach to Distributed Problem Solving A Knowledge-Theoretic Approach to Distributed Problem Solving Michael Wooldridge Department of Electronic Engineering, Queen Mary & Westfield College University of London, London E 4NS, United Kingdom

More information

A CATEGORICAL FOUNDATION FOR STRUCTURED REVERSIBLE FLOWCHART LANGUAGES: SOUNDNESS AND ADEQUACY

A CATEGORICAL FOUNDATION FOR STRUCTURED REVERSIBLE FLOWCHART LANGUAGES: SOUNDNESS AND ADEQUACY Logical Methods in Computer Science Vol. 14(3:16)2018, pp. 1 38 https://lmcs.episciences.org/ Submitted Oct. 12, 2017 Published Sep. 05, 2018 A CATEGORICAL FOUNDATION FOR STRUCTURED REVERSIBLE FLOWCHART

More information

Hedging Strategy Simulation and Backtesting with DSLs, GPUs and the Cloud

Hedging Strategy Simulation and Backtesting with DSLs, GPUs and the Cloud Hedging Strategy Simulation and Backtesting with DSLs, GPUs and the Cloud GPU Technology Conference 2013 Aon Benfield Securities, Inc. Annuity Solutions Group (ASG) This document is the confidential property

More information

CS473-Algorithms I. Lecture 12. Amortized Analysis. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 12. Amortized Analysis. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 12 Amortized Analysis 1 Amortized Analysis Key point: The time required to perform a sequence of data structure operations is averaged over all operations performed Amortized

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 2 Thursday, January 30, 2014 1 Expressing Program Properties Now that we have defined our small-step operational

More information

École normale supérieure, MPRI, M2 Year 2007/2008. Course 2-6 Abstract interpretation: application to verification and static analysis P.

École normale supérieure, MPRI, M2 Year 2007/2008. Course 2-6 Abstract interpretation: application to verification and static analysis P. École normale supérieure, MPRI, M2 Year 2007/2008 Course 2-6 Abstract interpretation: application to verification and static analysis P. Cousot Questions and answers of the partial exam of Friday November

More information

arxiv: v1 [math.st] 6 Jun 2014

arxiv: v1 [math.st] 6 Jun 2014 Strong noise estimation in cubic splines A. Dermoune a, A. El Kaabouchi b arxiv:1406.1629v1 [math.st] 6 Jun 2014 a Laboratoire Paul Painlevé, USTL-UMR-CNRS 8524. UFR de Mathématiques, Bât. M2, 59655 Villeneuve

More information

On the statistical leak of the GGH13 multilinear map and its variants

On the statistical leak of the GGH13 multilinear map and its variants On the statistical leak of the GGH13 multilinear map and its variants Léo Ducas 1, Alice Pellet--Mary 2 1 Cryptology Group, CWI, Amsterdam 2 LIP, ENS de Lyon. 25th April, 2017 A. Pellet-Mary On the statistical

More information

EDA045F: Program Analysis LECTURE 3: DATAFLOW ANALYSIS 2. Christoph Reichenbach

EDA045F: Program Analysis LECTURE 3: DATAFLOW ANALYSIS 2. Christoph Reichenbach EDA045F: Program Analysis LECTURE 3: DATAFLOW ANALYSIS 2 Christoph Reichenbach In the last lecture... Eliminating Nested Expressions (Three-Address Code) Control-Flow Graphs Static Single Assignment Form

More information

Improving Stock Price Prediction with SVM by Simple Transformation: The Sample of Stock Exchange of Thailand (SET)

Improving Stock Price Prediction with SVM by Simple Transformation: The Sample of Stock Exchange of Thailand (SET) Thai Journal of Mathematics Volume 14 (2016) Number 3 : 553 563 http://thaijmath.in.cmu.ac.th ISSN 1686-0209 Improving Stock Price Prediction with SVM by Simple Transformation: The Sample of Stock Exchange

More information

Comparing Goal-Oriented and Procedural Service Orchestration

Comparing Goal-Oriented and Procedural Service Orchestration Comparing Goal-Oriented and Procedural Service Orchestration M. Birna van Riemsdijk 1 Martin Wirsing 2 1 Technische Universiteit Delft, The Netherlands m.b.vanriemsdijk@tudelft.nl 2 Ludwig-Maximilians-Universität

More information

An Application of Data Mining Algorithms For Shipbuilding Cost Estimation

An Application of Data Mining Algorithms For Shipbuilding Cost Estimation An Application of Data Mining Algorithms For Shipbuilding Cost Estimation Bohdan L. Kaluzny Centre for Operational Research & Analysis Defence Research & Development Canada April 2011 Acknowledgements:

More information

Financial Risk Modeling on Low-power Accelerators: Experimental Performance Evaluation of TK1 with FPGA

Financial Risk Modeling on Low-power Accelerators: Experimental Performance Evaluation of TK1 with FPGA Financial Risk Modeling on Low-power Accelerators: Experimental Performance Evaluation of TK1 with FPGA Rajesh Bordawekar and Daniel Beece IBM T. J. Watson Research Center 3/17/2015 2014 IBM Corporation

More information

Noureddine Kouaissah, Sergio Ortobelli, Tomas Tichy University of Bergamo, Italy and VŠB-Technical University of Ostrava, Czech Republic

Noureddine Kouaissah, Sergio Ortobelli, Tomas Tichy University of Bergamo, Italy and VŠB-Technical University of Ostrava, Czech Republic Noureddine Kouaissah, Sergio Ortobelli, Tomas Tichy University of Bergamo, Italy and VŠB-Technical University of Ostrava, Czech Republic CMS Bergamo, 05/2017 Agenda Motivations Stochastic dominance between

More information

Integrating elements in an i-dss for portfolio management in the Mexican market

Integrating elements in an i-dss for portfolio management in the Mexican market Computational Finance and its Applications II 333 Integrating elements in an i-dss for portfolio management in the Mexican market M. A. Osorio 1, A. Sánchez 2 & M. A. Gómez 3 1,2 School of Computer Sciences,

More information

MAS115: R programming Lecture 3: Some more pseudo-code and Monte Carlo estimation Lab Class: for and if statements, input

MAS115: R programming Lecture 3: Some more pseudo-code and Monte Carlo estimation Lab Class: for and if statements, input MAS115: R programming Lecture 3: Some more pseudo-code and Monte Carlo estimation Lab Class: for and if statements, input The University of Sheffield School of Mathematics and Statistics Aims Introduce

More information

Recall: Data Flow Analysis. Data Flow Analysis Recall: Data Flow Equations. Forward Data Flow, Again

Recall: Data Flow Analysis. Data Flow Analysis Recall: Data Flow Equations. Forward Data Flow, Again Data Flow Analysis 15-745 3/24/09 Recall: Data Flow Analysis A framework for proving facts about program Reasons about lots of little facts Little or no interaction between facts Works best on properties

More information

Tel Aviv University. and. Universitat des Saarlandes

Tel Aviv University. and. Universitat des Saarlandes Compiling Simple Assignments Mooly Sagiv el Aviv University sagiv@math.tau.ac.il and Reinhard Wilhelm Universitat des Saarlandes wilhelm@cs.uni-sb.de April 21, 1997 { Wilhelm/Maurer: Compiler Design {

More information

Based on BP Neural Network Stock Prediction

Based on BP Neural Network Stock Prediction Based on BP Neural Network Stock Prediction Xiangwei Liu Foundation Department, PLA University of Foreign Languages Luoyang 471003, China Tel:86-158-2490-9625 E-mail: liuxwletter@163.com Xin Ma Foundation

More information

Abstract stack machines for LL and LR parsing

Abstract stack machines for LL and LR parsing Abstract stack machines for LL and LR parsing Hayo Thielecke August 13, 2015 Contents Introduction Background and preliminaries Parsing machines LL machine LL(1) machine LR machine Parsing and (non-)deterministic

More information

Laurence Boxer and Ismet KARACA

Laurence Boxer and Ismet KARACA SOME PROPERTIES OF DIGITAL COVERING SPACES Laurence Boxer and Ismet KARACA Abstract. In this paper we study digital versions of some properties of covering spaces from algebraic topology. We correct and

More information

An introduction to Machine learning methods and forecasting of time series in financial markets

An introduction to Machine learning methods and forecasting of time series in financial markets An introduction to Machine learning methods and forecasting of time series in financial markets Mark Wong markwong@kth.se December 10, 2016 Abstract The goal of this paper is to give the reader an introduction

More information

Using condition numbers to assess numerical quality in HPC applications

Using condition numbers to assess numerical quality in HPC applications Using condition numbers to assess numerical quality in HPC applications Marc Baboulin Inria Saclay / Université Paris-Sud, France INRIA - Illinois Petascale Computing Joint Laboratory 9th workshop, June

More information

Obsolescence Risk and the Systematic Destruction of Wealth

Obsolescence Risk and the Systematic Destruction of Wealth Obsolescence Risk and the Systematic Destruction of Wealth Thomas Emil Wendling 2012 Enterprise Risk Management Symposium April 18-20, 2012 2012 Casualty Actuarial Society, Professional Risk Managers International

More information

CS 4110 Programming Languages and Logics Lecture #2: Introduction to Semantics. 1 Arithmetic Expressions

CS 4110 Programming Languages and Logics Lecture #2: Introduction to Semantics. 1 Arithmetic Expressions CS 4110 Programming Languages and Logics Lecture #2: Introduction to Semantics What is the meaning of a program? When we write a program, we represent it using sequences of characters. But these strings

More information

Efficiency parameter Ro Eta Labour units of input Capital units of input

Efficiency parameter Ro Eta Labour units of input Capital units of input 6.4. Hicksian neutral technical progress in a CES production function Following the same framework adopted in the previous paragraph, simulate exponential rate of Hicksian neutral technical progress by.

More information

Macroeconomic Analysis and Parametric Control of Economies of the Customs Union Countries Based on the Single Global Multi- Country Model

Macroeconomic Analysis and Parametric Control of Economies of the Customs Union Countries Based on the Single Global Multi- Country Model Macroeconomic Analysis and Parametric Control of Economies of the Customs Union Countries Based on the Single Global Multi- Country Model Abdykappar A. Ashimov, Yuriy V. Borovskiy, Nikolay Yu. Borovskiy

More information

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Civil and Environmental Engineering

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Civil and Environmental Engineering MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Civil and Environmental Engineering.7 Water Resource Systems Lecture 5 Multiobjective Optimization and Utility Oct., 006 Multiobjective problems Benefits

More information

Monte-Carlo Beam Search

Monte-Carlo Beam Search IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES 1 Monte-Carlo Beam Search Tristan Cazenave Abstract Monte-Carlo Tree Search is state of the art for multiple games and for solving puzzles

More information

Lecture Notes on Bidirectional Type Checking

Lecture Notes on Bidirectional Type Checking Lecture Notes on Bidirectional Type Checking 15-312: Foundations of Programming Languages Frank Pfenning Lecture 17 October 21, 2004 At the beginning of this class we were quite careful to guarantee that

More information

Random Search Techniques for Optimal Bidding in Auction Markets

Random Search Techniques for Optimal Bidding in Auction Markets Random Search Techniques for Optimal Bidding in Auction Markets Shahram Tabandeh and Hannah Michalska Abstract Evolutionary algorithms based on stochastic programming are proposed for learning of the optimum

More information

Inventory Models for Special Cases: Multiple Items & Locations

Inventory Models for Special Cases: Multiple Items & Locations CTL.SC1x -Supply Chain & Logistics Fundamentals Inventory Models for Special Cases: Multiple Items & Locations MIT Center for Transportation & Logistics Agenda Inventory Policies for Multiple Items Grouping

More information

Chapter 5 Finite Difference Methods. Math6911 W07, HM Zhu

Chapter 5 Finite Difference Methods. Math6911 W07, HM Zhu Chapter 5 Finite Difference Methods Math69 W07, HM Zhu References. Chapters 5 and 9, Brandimarte. Section 7.8, Hull 3. Chapter 7, Numerical analysis, Burden and Faires Outline Finite difference (FD) approximation

More information

Multistage risk-averse asset allocation with transaction costs

Multistage risk-averse asset allocation with transaction costs Multistage risk-averse asset allocation with transaction costs 1 Introduction Václav Kozmík 1 Abstract. This paper deals with asset allocation problems formulated as multistage stochastic programming models.

More information

RISK-NEUTRAL VALUATION AND STATE SPACE FRAMEWORK. JEL Codes: C51, C61, C63, and G13

RISK-NEUTRAL VALUATION AND STATE SPACE FRAMEWORK. JEL Codes: C51, C61, C63, and G13 RISK-NEUTRAL VALUATION AND STATE SPACE FRAMEWORK JEL Codes: C51, C61, C63, and G13 Dr. Ramaprasad Bhar School of Banking and Finance The University of New South Wales Sydney 2052, AUSTRALIA Fax. +61 2

More information

Economics 2010c: Lecture 4 Precautionary Savings and Liquidity Constraints

Economics 2010c: Lecture 4 Precautionary Savings and Liquidity Constraints Economics 2010c: Lecture 4 Precautionary Savings and Liquidity Constraints David Laibson 9/11/2014 Outline: 1. Precautionary savings motives 2. Liquidity constraints 3. Application: Numerical solution

More information

A Novel Method of Trend Lines Generation Using Hough Transform Method

A Novel Method of Trend Lines Generation Using Hough Transform Method International Journal of Computing Academic Research (IJCAR) ISSN 2305-9184, Volume 6, Number 4 (August 2017), pp.125-135 MEACSE Publications http://www.meacse.org/ijcar A Novel Method of Trend Lines Generation

More information

Essays on Some Combinatorial Optimization Problems with Interval Data

Essays on Some Combinatorial Optimization Problems with Interval Data Essays on Some Combinatorial Optimization Problems with Interval Data a thesis submitted to the department of industrial engineering and the institute of engineering and sciences of bilkent university

More information

Worst-case-expectation approach to optimization under uncertainty

Worst-case-expectation approach to optimization under uncertainty Worst-case-expectation approach to optimization under uncertainty Wajdi Tekaya Joint research with Alexander Shapiro, Murilo Pereira Soares and Joari Paulo da Costa : Cambridge Systems Associates; : Georgia

More information

A distributed Laplace transform algorithm for European options

A distributed Laplace transform algorithm for European options A distributed Laplace transform algorithm for European options 1 1 A. J. Davies, M. E. Honnor, C.-H. Lai, A. K. Parrott & S. Rout 1 Department of Physics, Astronomy and Mathematics, University of Hertfordshire,

More information

Enhanced Shell Sorting Algorithm

Enhanced Shell Sorting Algorithm Enhanced ing Algorithm Basit Shahzad, and Muhammad Tanvir Afzal Abstract Many algorithms are available for sorting the unordered elements. Most important of them are Bubble sort, Heap sort, Insertion sort

More information

A t S + b r t T B (h i + 1) (t S + t T ) C h i (t S + t T ) + t S + b t T D (h i + n) (t S + t T )

A t S + b r t T B (h i + 1) (t S + t T ) C h i (t S + t T ) + t S + b t T D (h i + n) (t S + t T ) Suppose we have a primary B+-tree index where the leaves contain search keys and RIDs, and the RIDs point to the records in a file that is ordered on the index search key. Assume that the blocks in the

More information

Disclosure Risk Measurement with Entropy in Sample Based Frequency Tables

Disclosure Risk Measurement with Entropy in Sample Based Frequency Tables Disclosure Risk Measurement with Entropy in Sample Based Frequency Tables L. Antal N. Shlomo M. Elliot laszlo.antal@postgrad.manchester.ac.uk University of Manchester New Techniques and Technologies for

More information

Predicting the Success of a Retirement Plan Based on Early Performance of Investments

Predicting the Success of a Retirement Plan Based on Early Performance of Investments Predicting the Success of a Retirement Plan Based on Early Performance of Investments CS229 Autumn 2010 Final Project Darrell Cain, AJ Minich Abstract Using historical data on the stock market, it is possible

More information

Financial Computing with Python

Financial Computing with Python Introduction to Financial Computing with Python Matthieu Mariapragassam Why coding seems so easy? But is actually not Sprezzatura : «It s an art that doesn t seem to be an art» - The Book of the Courtier

More information

Liability in Software Engineering

Liability in Software Engineering Author manuscript, published in "ACM/IEEE 32nd International Conf. on Software Engineering (2010) 0--0" Liability in Software Engineering Overview of the LISE Approach and Illustration on a Case Study

More information

White-Box Testing Techniques I

White-Box Testing Techniques I White-Box Testing Techniques I Software Testing and Verification Lecture 7 Prepared by Stephen M. Thebaut, Ph.D. University of Florida Definition of White-Box Testing Testing based on analysis of internal

More information

So we turn now to many-to-one matching with money, which is generally seen as a model of firms hiring workers

So we turn now to many-to-one matching with money, which is generally seen as a model of firms hiring workers Econ 805 Advanced Micro Theory I Dan Quint Fall 2009 Lecture 20 November 13 2008 So far, we ve considered matching markets in settings where there is no money you can t necessarily pay someone to marry

More information

Package EMT. February 19, 2015

Package EMT. February 19, 2015 Type Package Package EMT February 19, 2015 Title Exact Multinomial Test: Goodness-of-Fit Test for Discrete Multivariate data Version 1.1 Date 2013-01-27 Author Uwe Menzel Maintainer Uwe Menzel

More information

Financial Giffen Goods: Examples and Counterexamples

Financial Giffen Goods: Examples and Counterexamples Financial Giffen Goods: Examples and Counterexamples RolfPoulsen and Kourosh Marjani Rasmussen Abstract In the basic Markowitz and Merton models, a stock s weight in efficient portfolios goes up if its

More information

PORTFOLIO OPTIMIZATION AND EXPECTED SHORTFALL MINIMIZATION FROM HISTORICAL DATA

PORTFOLIO OPTIMIZATION AND EXPECTED SHORTFALL MINIMIZATION FROM HISTORICAL DATA PORTFOLIO OPTIMIZATION AND EXPECTED SHORTFALL MINIMIZATION FROM HISTORICAL DATA We begin by describing the problem at hand which motivates our results. Suppose that we have n financial instruments at hand,

More information

Chapter 3. Dynamic discrete games and auctions: an introduction

Chapter 3. Dynamic discrete games and auctions: an introduction Chapter 3. Dynamic discrete games and auctions: an introduction Joan Llull Structural Micro. IDEA PhD Program I. Dynamic Discrete Games with Imperfect Information A. Motivating example: firm entry and

More information

FINITE MATH LECTURE NOTES. c Janice Epstein 1998, 1999, 2000 All rights reserved.

FINITE MATH LECTURE NOTES. c Janice Epstein 1998, 1999, 2000 All rights reserved. FINITE MATH LECTURE NOTES c Janice Epstein 1998, 1999, 2000 All rights reserved. August 27, 2001 Chapter 1 Straight Lines and Linear Functions In this chapter we will learn about lines - how to draw them

More information

CLASSIC TWO-STEP DURBIN-TYPE AND LEVINSON-TYPE ALGORITHMS FOR SKEW-SYMMETRIC TOEPLITZ MATRICES

CLASSIC TWO-STEP DURBIN-TYPE AND LEVINSON-TYPE ALGORITHMS FOR SKEW-SYMMETRIC TOEPLITZ MATRICES CLASSIC TWO-STEP DURBIN-TYPE AND LEVINSON-TYPE ALGORITHMS FOR SKEW-SYMMETRIC TOEPLITZ MATRICES IYAD T ABU-JEIB Abstract We present ecient classic two-step Durbin-type and Levinsontype algorithms for even

More information

Charting Functionality

Charting Functionality Charting Functionality Author Version Date Gary Huish 1.0 25-Oct-2107 Charting Functionality... 1 Charting Principles... 3 Data model... 3 Data cleaning... 3 Data extraction... 4 Chart Images extraction...

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 3 Tuesday, February 2, 2016 1 Inductive proofs, continued Last lecture we considered inductively defined sets, and

More information

Logic and Artificial Intelligence Lecture 24

Logic and Artificial Intelligence Lecture 24 Logic and Artificial Intelligence Lecture 24 Eric Pacuit Currently Visiting the Center for Formal Epistemology, CMU Center for Logic and Philosophy of Science Tilburg University ai.stanford.edu/ epacuit

More information

A Newsvendor Model with Initial Inventory and Two Salvage Opportunities

A Newsvendor Model with Initial Inventory and Two Salvage Opportunities A Newsvendor Model with Initial Inventory and Two Salvage Opportunities Ali Cheaitou Euromed Management Domaine de Luminy BP 921, 13288 Marseille Cedex 9, France Fax +33() 491 827 983 E-mail: ali.cheaitou@euromed-management.com

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 21 Successive Shortest Path Problem In this lecture, we continue our discussion

More information

The Final destination of Household financial wealth*

The Final destination of Household financial wealth* The Final destination of Household financial wealth* J. Pavot Banque de France Banca d Italia, November 30 th December 1 st, 2017 How financial systems work: evidence from FA *does not necessarily express

More information

Reinforcement Learning (1): Discrete MDP, Value Iteration, Policy Iteration

Reinforcement Learning (1): Discrete MDP, Value Iteration, Policy Iteration Reinforcement Learning (1): Discrete MDP, Value Iteration, Policy Iteration Piyush Rai CS5350/6350: Machine Learning November 29, 2011 Reinforcement Learning Supervised Learning: Uses explicit supervision

More information

Machine Learning in mathematical Finance

Machine Learning in mathematical Finance Machine Learning in mathematical Finance Josef Teichmann ETH Zürich December 15, 2017 Josef Teichmann (ETH Zürich) Machine Learning in mathematical Finance December 15, 2017 1 / 37 1 Introduction 2 Machine

More information

Comparison of two worst-case response time analysis methods for real-time transactions

Comparison of two worst-case response time analysis methods for real-time transactions Comparison of two worst-case response time analysis methods for real-time transactions A. Rahni, K. Traore, E. Grolleau and M. Richard LISI/ENSMA Téléport 2, 1 Av. Clément Ader BP 40109, 86961 Futuroscope

More information

4: SINGLE-PERIOD MARKET MODELS

4: SINGLE-PERIOD MARKET MODELS 4: SINGLE-PERIOD MARKET MODELS Marek Rutkowski School of Mathematics and Statistics University of Sydney Semester 2, 2016 M. Rutkowski (USydney) Slides 4: Single-Period Market Models 1 / 87 General Single-Period

More information

Trust Region Methods for Unconstrained Optimisation

Trust Region Methods for Unconstrained Optimisation Trust Region Methods for Unconstrained Optimisation Lecture 9, Numerical Linear Algebra and Optimisation Oxford University Computing Laboratory, MT 2007 Dr Raphael Hauser (hauser@comlab.ox.ac.uk) The Trust

More information

Long-Term Values in MDPs, Corecursively

Long-Term Values in MDPs, Corecursively Long-Term Values in MDPs, Corecursively Applied Category Theory, 15-16 March 2018, NIST Helle Hvid Hansen Delft University of Technology Helle Hvid Hansen (TU Delft) MDPs, Corecursively NIST, 15/Mar/2018

More information