Probabilistic Program Analysis

Size: px
Start display at page:

Download "Probabilistic Program Analysis"

Transcription

1 Probabilistic Program Analysis Data Flow Analysis and Regression Alessandra Di Pierro University of Verona, Italy Herbert Wiklicky Imperial College London, UK Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide of 45 Classical Dataflow Analysis The problem could be to identify at any program point the variables which are live, i.e. which may later be used in an assignment or test. There are two phases of a classical LV analysis: (i) formulation of data-flow equations as set equations (or more generally over a property lattice L), (ii) finding or constructing solutions to these equations, for example, via a fixed-point construction. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide of 45

2 Example Consider a program like: [x := ] ; [y := ] ; [x := x + y mod 4] 3 ; if [x > ] 4 then [z := x] 5 else [z := y] 6 fi Extract statically the control flow relation i.e. is it possible to go from lable l to label l? flow = {(, ), (, 3), (3, 4), (4, 5), (4, 6)} Nielson, Nielson, Hankin: Principles of Program Analysis. Springer, 99/05. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 3 of 45 (Local) Transfer Functions gen LV ([x := a] l ) = FV(a) gen LV ([skip] l ) = gen LV ([b] l ) = FV(b) kill LV ([x := a] l ) = {x} kill LV ([skip] l ) = kill LV ([b] l ) = f LV l : P(Var ) P(Var ) f LV l (X) = X \ kill LV ([B] l ) gen LV ([B] l ) Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 4 of 45

3 (Global) Control Flow Formulate equations based on the control flow (relations): LV entry (l) = f LV l LV exit (l) = (LV exit (l)) LV entry (l ) (l,l ) flow Monotone Framework: Generalise this setting to lattice equations by using a general property lattice L instead of P(X). This also gives ways to effectively construct solutions via various lattice theoretic concepts (fixed points, worklist, etc.) Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 5 of 45 Example [x := ] ; [y := ] ; [x := x + y mod 4] 3 ; if [x > ] 4 then [z := x] 5 else [z := y] 6 fi Control Flow: Auxiliary Functions: flow = {(, ), (, 3), (3, 4), (4, 5), (4, 6)} Equations (over L = P(Var)) gen LV (l) kill LV (l) {x} {y} 3 {x, y} {x} 4 {x} 5 {x} {z} 6 {y} {z} Bolzano, -6 August 06 LV entry () ESSLLI 6 = LV exit () Probabilistic \ {x} Program Analysis Slide 6 of 45

4 A Probabilistic Language (Variation) We consider a simple language with a random assignment ρ = { r, p,... r n, p n } (rather than a probabilistic choice). S ::= skip x := e(x,..., x n ) x?= ρ S ; S if b then S else S fi while b do S od S ::= [skip] l [x := e(x,..., x n )] l [x?= ρ] l S ; S if [b] l then S else S fi while [b] l do S od Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 7 of 45 Probabilistic Semantics SOS: R0 stop, s stop, s R skip, s stop, s R R3 v := e, s stop, s[v E(e)s] v?= ρ, s ρ(r) stop, s[v r] LOS: T( l, p, l ) = U(x a) E(l, l ) for [x := a] l T( l, p, l ) = ( i ρ(r i) U(x r i )) E(l, l ) for [x?= ρ] l... Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 8 of 45

5 (Local) Transfer Functions (extended) gen LV ([x := a] l ) = FV(a) gen LV ([x?= ρ] l ) = gen LV ([skip] l ) = gen LV ([b] l ) = FV(b) kill LV ([x := a] l ) = {x} kill LV ([x?= ρ] l ) = {x} kill LV ([skip] l ) = kill LV ([b] l ) = f LV l : P(Var ) P(Var ) f LV l (X) = X \ kill LV ([B] l ) gen LV ([B] l ) Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 9 of 45 Probabilistic Analysis In the classical analysis the undecidability of predicates in tests leads us to consider a conservative approach: Everything is possible, i.e. tests are treated as non-deterministic choices in the control flow. In a probabilistic analysis we aim instead in providing good (optimal) estimates for branch(ing) probabilities when we construct the probabilistic control flow. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 0 of 45

6 Example Consider, for example, instead of [x := ] ; [y := ] ; [x := x + y mod 4] 3 ; if [x > ] 4 then [z := x] 5 else [z := y] 6 fi a probabilistic program like: [x?= {0, }] ; [y?= {0,,, 3}] ; [x := x + y mod 4] 3 ; if [x > ] 4 then [z := x] 5 else [z := y] 6 fi Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide of 45 Probabilistic Control Flow and Equations We can also use the classical control flow relation (as long as we do not consider a randomised choose statement). However, we can t use the same equations, because: (i) We want to express probabilities of properties not just (safe approximations) of properties. (ii) We also need to consider relational aspects, i.e. correlations e.g. between the sign of variables. (iii) We would like/need to estimate the branching probabilities when tests are evaluated. (iv) We often also need probabilistic versions of the transfer functions. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide of 45

7 Local Transfer When we look at the local transfer functions f l then we now need some probabilistic version of these. For example: given probability distributions describing the values of x and y, what is the probability distribution describing possible values of x + y mod 4. Possible ways to obtain probabilistic and abstract versions f # l Construction of a corresponding operator. Abstraction of the concrete semantics. Testing and Profiling also give us estimates. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 3 of 45 Probabilistic Abstract Interpretation For an abstraction A : V(State) V(L) we get for a concrete transfer operator F an abstract, (least-square) optimal estimate via F # = A FA in analogy to Abstract Interpretation. Definition Let C and D be two Hilbert spaces and A : C D a bounded linear map. A bounded linear map A = G : D C is the Moore-Penrose pseudo-inverse of A iff (i) A G = P A, (ii) G A = P G, where P A and P G denote orthogonal projections onto the ranges of A and G. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 4 of 45

8 Branch Probabilities Definition Given a program S l with init(s l ) = l and a probability distribution ρ on State, the probability p l,l (ρ) that the control is flowing from l to l is defined as: p l,l (ρ) = s { p ρ(s) s s.t. S l, s p Sl, s }. The branch probabilities thus also depend on an initial distribution, even for deterministic programs. One can implement the test b as projections P(b) which filter out states which do not pass the test. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 5 of 45 Tests and Branch Probabilities (Concrete) Consider the simple program with x {0,, } if [x >= ] then [x := x ] else [skip] 3 fi Then the test b = (x >= ) is represented by the projection: P(x >= ) = 0 0 and P(x >= ) = For ρ = { 0, p 0,, p,, p } = (p 0, p, p ) we can compute the branch(ing) probabilities as ρp(x >= ) = (0, p, p ) and p, (ρ) = ρ P(x >= ) = p + p, for the else branch, with P = I P: p,3 (ρ) = ρ P (x >= ) = p 0. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 6 of 45

9 Abstract Branch Probabilities If we consider abstract states ρ # V(L) we need abstract versions P(b) # of P(b) to compute the branch probabilities. In doing so we must guarantee that for ρ # = ρa: ρp(b)a! = ρ # P # (b) ρp(b)a! = ρap # (b) P(b)A! = AP # (b) Ideally, to get P # if we multiply the last equation from the left with A. However, A is in general not not invertible. The optimal (least-square) estimate can be obtained via A P(b)A = A AP # (b) A P(b)A = P # (b) We get estimates for the abstract branch probabilities. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 7 of 45 An Example: Prime Numbers are Odd Consider the following program that counts the prime numbers. [i := ] ; while [i < 00] do if [prime(i)] 3 then [p := p + ] 4 else [skip] 5 fi; [i := i + ] 6 od Essential is the abstract branch probability for [.] 3 : P(prime(i)) # = A ep(prime(i))a e, Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 8 of 45

10 An Example: Abstraction Test operators: P e = (P(even(n))) ii = { if i = k 0 otherwise P p = (P(prime(n))) ii = Abstraction Operators: (A e ) ij = (A p ) ij = { if prime(i) 0 otherwise if i = k + j = if i = k j = 0 otherwise if prime(i) j = if prime(i) j = 0 otherwise Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 9 of 45 An Example: Abstract Branch Probability For ranges [0,..., n] we get: n = 0 n = 00 n = 000 n = 0000 A e P pa e A e P p A e A p P ea p A p P e A p ( ) ( ) ( ) ( ( ) ( ) ( ) ( ( ) ( ) ( ) ( ( ) ( ) ( ) ( ) ) ) ) The entries in the upper left corner of A ep p A e give us the chances that an even number is also a prime number, etc. Note that the positive and negative matrices always add up to I. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 0 of 45

11 Probabilistic Dataflow Equations Similar to classical DFA we formulate linear equations: Analysis (l) = Analysis (l) F # l { ι, if l E Analysis (l) = {Analysis (l ) P(l, l) # (l, l) F}, else A simpler version can be obtained by static branch prediction: Analysis (l) = {p l,l Analysis (l ) (l, l) F} Abstract branch probabilities, i.e. estimates for the test operators P(l, l) #, can be estimated also via a different analysis Prob, in a first phase before the actual Analysis. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide of 45 Live Variable Analysis: Example Coming back to our previous example and its LV analysis: [x?= {0, }] ; [y?= {0,,, 3}] ; [x := x + y mod 4] 3 ; if [x > ] 4 then [z := x] 5 else [z := y] 6 fi Consider two properties d for dead, and l for live and the space V({0, }) = V({d, l}) = R as the property space. L = ( 0 0 ) and K = ( 0 0 ). We define the abstract transfers for our four blocks a F l = F LV l : V({0, }) Var V({0, }) Var Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide of 45

12 Transfer Functions for Live Variables For [x := a] l (with I the identity matrix) F l = L if x i FV(a) X i with X i = K if x i = x x i FV(a) x i Var I otherwise. and for tests [b] l F l = X i with X i = x i Var { L if xi FV(b) I otherwise. For [skip] l and [x?= ρ] l have F l = x i Var I. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 3 of 45 Preprocessing We present a LV analysis based essentially on concrete branch probabilities. That means that in the first phase of the analysis we will not abstract the values of x and y, we just ignore z all together. If the concrete state of each variable is a value in {0,,, 3}, then the probabilistic state is in V({0,,, 3}) 3 = R 43 = R 64. The abstraction we use when we compute the concrete branch probabilities is A = I I A f, with A f = (,,, ) t the forgetful abstraction, i.e. z is ignored. This allows us to reduce the dimensions of the probabilistic state space from 64 to just 6. Note that also F # 5 = F# 6 = I. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 4 of 45

13 (Abstract) Transfer Operators F # = F # = Bolzano, -6 August ESSLLI 6 Probabilistic Program Analysis Slide 5 of Probability Equations Prob 0 entry 0 () 0 0= 0 ρ Prob 0 0 entry () = Prob exit 4 () Prob 0 entry 0 (3) 0 0= 0 Prob 0 exit 0 () Prob 0 0 entry (4) = Prob exit (3) The pre-processing probability analysis via equations: Prob entry (5) = Prob exit (4) P # Prob 0 0 entry 0 (6) 0 = 0 Prob 0 exit 0 (4) 0 0(I 0 P 0 # 4 ) Prob exit () = Prob 0 entry () F # F # 3 = Prob exit () = Prob entry () F # Prob 0 0 exit 0(3) 0 = 0 Prob 0 0 entry 0 () 0 0F # Prob exit (4) = Prob entry (4) Prob exit (5) = Prob entry (5) Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 6 of

14 Data Flow Equations With this information we can formulate the actual LV equations: LV entry () = LV exit () (K I I) LV entry () = LV exit () (I K I) LV entry (3) = LV exit (3) (L L I) LV entry (4) = LV exit (4) (L I I) LV entry (5) = LV exit (5) (L I K) LV entry (6) = LV exit (6) (I L K) LV exit () = LV entry () LV exit () = LV entry (3) LV exit (3) = LV entry (4) LV exit (4) = p 4,5 LV entry (5) + p 4,6 LV entry (6) LV exit (5) = (, 0) (, 0) (, 0) Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 7 of 45 Example: Solution LV exit (6) = (, 0) (, 0) (, 0) The solution to the LV equations is then given by: LV entry () = (, 0) (, 0) (, 0) LV entry () = (0, ) (, 0) (, 0) LV entry (3) = 0.5 (0, ) (0, ) (, 0) (0, ) (0, ) (, 0) = (0, ) (0, ) (, 0) LV entry (4) = 0.5 (0, ) (, 0) (, 0) (0, ) (0, ) (, 0) LV entry (5) = (0, ) (, 0) (, 0) LV entry (6) = (, 0) (0, ) (, 0) LV exit () = (0, ) (, 0) (, 0) LV exit () = (0, ) (0, ) (, 0) Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 8 of 45 LV exit (3) = 0.5 (0, ) (, 0) (, 0) +

15 The Moore-Penrose Pseudo-Inverse Definition Let C and D be two finite-dimensional vector spaces and A : C D a linear map. Then the linear map A = G : D C is the Moore-Penrose pseudo-inverse of A iff A G = P A and G A = P G, where P A and P G denote orthogonal projections onto the ranges of A and G. Definition Let A R m n and b R m. Then u R n is called a least squares solution to Ax = b if Theorem Au b Av b, for all v R n. Let A R m n and b R m. Then A b is the minimal least squares solution to Ax = b. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 9 of 45 Probabilistic Abstract Interpretation Probabilistic Abstract Interpretation is based on: Concrete and abstract domains are linear spaces C, D... Concrete and abstract semantics are linear operators T... The Moore-Penrose pseudo-inverse allows us to construct the closest (i.e. least square) approximation T # : D D of a concrete semantics T : C C which we define via the Moore-Penrose pseudo-inverse: T # = G T A = A T A = A T G. This gives a smaller DTMC via the abstracted generator T #. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 30 of 45

16 Probabilistic Program Analysis vs Statistics Probabilistic Program Analysis Probabilities are given (as values or parameters): Calculate properties according to these input data using the program semantics, i.e. deduce probabilities of properties from semantics. Statistical Analysis Probabilities and initial states are not known: Estimate these parameters using observations of the program behaviour, i.e. infer execution probabilities by observing some sample runs. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 3 of 45 Using Statistics Infer execution probabilities by observing some sample runs. Identify a random vector y with some measurement results Identify a model by a vector of parameters β Construct a matrix X mapping models to the runs Use X and y to find a best estimator of the model. Theorem (Gauss-Markov) Consider the linear model y = βx + ε with X of full column rank and ε (fulfilling some conditions) Then the Best Linear Unbiased Estimator (BLUE) is given by ˆβ = yx. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 3 of 45

17 Modular Exponentiation s := ; i := 0; while i<=w do if k[i]== then x := (s*x) mod n; else r := s; fi; s := r*r; i := i+; od; P.C. Kocher: Cryptanalysis of Diffie-Hellman, RSA, DSS, and other cryptosystems using timing attacks, CRYPTO 95. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 33 of 45 Paths and Fronts Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 34 of 45

18 Observing Traces: The DTMC Consider the following simple DTMC with parameters p and q in the real interval [0, ]: p p 0 q q T pq = ( p p q q ) This behaviour is essentially the one of the following program: while (true) do if (x == ) then x?= { 0, p,, p } else x?= { 0, q,, q } fi od Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 35 of 45 Observing Traces: Possible Parameters Instantiating the parameters: 0 T 0, = ( 0 0 ) 0 ( T, = 0 ) Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 36 of 45

19 Observing Traces: Possible Parameters Instantiating the parameters: 0 T 0, 0 T, ( 0 = = ( ) ) Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 37 of 45 Identifying the Concrete Model PAI can be used to this purpose as follows: Abstract domain: D = V(M), with M = { s, p, q s {0, }, p, q [0, ]} Concrete domain: C = V(T ) with T = {0, } + (execution traces) Design matrix: G : D C associates to each instance model the corresponding distribution on traces Compute the Moore-Penrose pseudo-inverse G of G to calculate the best estimators of the parameters p and q. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 38 of 45

20 Numerical Experiments In order to be able to compute an analysis of the system we considered p, q {0,, }, i.e. 9 possible semantics, with possible initial states either 0 or. D = V({0, }) V({0,, }) V({0,, }) = R R 3 R 3 = R 8 Observe traces of a certain length, e.g. traces of length t = 3: C 3 = V({0, } 3 ) = V({0, }) 3 = (R ) 8 = R 8 Actually, we simulated 0000 executions (with errors) of the system and observed traces of length t = 0. C 0 = V({0, } 0 ) = V({0, }) 0 = (R ) 0 = R 04 Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 39 of 45 Numerical Experiments: Parameter Space D = R 9 s p q s p q Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 40 of 45

21 Experiments: Trace Space C 3 = R 8 and C 0 = R 04 trace C trace C Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 4 of 45 Experiments: Concretisation G 3 G 3 = Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 4 of 45

22 Experiments: Regression G 3 (Abstraction) G t 3 = Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 43 of 45 Numerical Experiments for C 0 For the model p = 0, q = we obtained (for different noise distortions ε) by observation of the possible traces in 0000 test runs their (experimental) probability distributions y, y etc. in R 04 (where y i is the observed frequency of trace i) and from these estimate the (unknown) parameters via: yg 0 = (0, 0, 0, 0, 0, 0, 0.50, 0.49, 0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0) y G 0 = (0, 0, 0, 0, 0, 0, 0.49, 0.50, 0.0, 0, 0, 0, 0, 0, 0, 0, 0, 0) y G 0 = (0, 0, 0, 0, 0, 0, 0.43, 0.43, 0.07, 0.06, 0, 0, 0, 0, 0, 0, 0, 0) y G 0 = (0, 0, 0.0, 0, 0, 0, 0.33, 0.35, 0.6, 0.6, 0, 0, 0, 0, 0, 0, 0, 0) The distribution y denotes the undistorted case, y the case with ε = 0.0, y the case ε = 0., and y the case ε = 0.5. The initial state was always chosen with probability state 0 or the state. as the Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 44 of 45

23 Some References Di Pierro, Wiklicky: Probabilistic data flow analysis: A linear equational approach. Proceedings of GandALF 3, EPTCS, Volume 9, 03. Di Pierro, Hankin, Wiklicky: Probabilistic semantics and analysis. in Formal Methods for Quantitative Aspects of Programming Languages, LNCS 655, Springer, 00. Di Pierro, Wiklicky: Probabilistic Abstract Intepretation: From Trace Semantics to DTMC s via Linear Regression. LNCS 9560, Springer, 06. Nielson, Nielson, Hankin: Principles of Program Analysis. Springer, 999/005. Bolzano, -6 August 06 ESSLLI 6 Probabilistic Program Analysis Slide 45 of 45

Probabilistic data flow analysis: a linear equational approach

Probabilistic data flow analysis: a linear equational approach Probabilistic data flow analysis: a linear equational approach Alessandra Di Pierro University of Verona Verona, Italy alessandra.dipierro@univr.it Herbert Wiklicky Imperial College London London, UK herbert@doc.ic.ac.uk

More information

Program Analysis Probably Counts

Program Analysis Probably Counts Probably Counts 1 c.hankin@imperial.ac.uk joint work with Alessandra Di Pierro 2 and Herbert Wiklicky 1 1 Department of Computing, 2 Dipartimento di Informatica, Università di Verona Computer Journal Lecture,

More information

Intra-procedural Data Flow Analysis Backwards analyses

Intra-procedural Data Flow Analysis Backwards analyses Live variables Dead code elimination Very Busy Expressions Code hoisting Bitvector frameworks Monotone frameworks Intra-procedural Data Flow Analysis Backwards analyses Hanne Riis Nielson and Flemming

More information

Probabilistic Semantics and Program Analysis

Probabilistic Semantics and Program Analysis Probabilistic Semantics and Program Analysis Alessandra Di Pierro 1, Chris Hankin 2, and Herbert Wiklicky 2 1 University of Verona, Ca Vignal 2 - Strada le Grazie 15, 714 Verona, Italy dipierro@sci.univr.it

More information

Probabilistic Model Checking and [Program] Analysis (CO469)

Probabilistic Model Checking and [Program] Analysis (CO469) Probabilistic Model Checking and [Program] Analysis (CO469) Program Analysis Herbert Wiklicky herbert@doc.ic.ac.uk Spring 208 / 64 Overview Topics we will cover in this part will include:. Language WHILE

More information

Iterative Dataflow Analysis

Iterative Dataflow Analysis Iterative Dataflow Analysis CS 352 9/24/07 Slides adapted from Nielson, Nielson, Hankin Principles of Program Analysis Key Ideas Need a mechanism to evaluate (statically) statements in a program Problem:

More information

Principles of Program Analysis: A Sampler of Approaches

Principles of Program Analysis: A Sampler of Approaches Principles of Program Analysis: A Sampler of Approaches Transparencies based on Chapter 1 of the book: Flemming Nielson, Hanne Riis Nielson and Chris Hankin: Principles of Program Analysis Springer Verlag

More information

Inter-procedural Data Flow Analysis

Inter-procedural Data Flow Analysis Flow insensitive analysis Context insensitive analysis Context sensitive analysis Inter-procedural Data Flow Analysis Hanne Riis Nielson and Flemming Nielson email: {riis,nielson}@imm.dtu.dk Informatics

More information

Mechanics of Static Analysis

Mechanics of Static Analysis Escuela 03 III / 1 Mechanics of Static Analysis David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 III / 2 Outline 1. Small-step semantics: trace generation 2. State generation and

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-18/spa/ Recap: Interprocedural Dataflow Analysis Outline of

More information

Public-Key Encryption: ElGamal, RSA, Rabin

Public-Key Encryption: ElGamal, RSA, Rabin Public-Key Encryption: ElGamal, RSA, Rabin Introduction to Modern Cryptography Benny Applebaum Tel-Aviv University Fall Semester, 2011 12 Public-Key Encryption Syntax Encryption algorithm: E. Decryption

More information

1 Cricket chirps: an example

1 Cricket chirps: an example Notes for 2016-09-26 1 Cricket chirps: an example Did you know that you can estimate the temperature by listening to the rate of chirps? The data set in Table 1 1. represents measurements of the number

More information

Static Program Analysis using Abstract Interpretation

Static Program Analysis using Abstract Interpretation Static Program Analysis using Abstract Interpretation Introduction Static Program Analysis Static program analysis consists of automatically discovering properties of a program that hold for all possible

More information

Properties of Matrices and Operations on Matrices

Properties of Matrices and Operations on Matrices Properties of Matrices and Operations on Matrices A common data structure for statistical analysis is a rectangular array or matris. Rows represent individual observational units, or just observations,

More information

Maths for Signals and Systems Linear Algebra in Engineering

Maths for Signals and Systems Linear Algebra in Engineering Maths for Signals and Systems Linear Algebra in Engineering Lectures 13 15, Tuesday 8 th and Friday 11 th November 016 DR TANIA STATHAKI READER (ASSOCIATE PROFFESOR) IN SIGNAL PROCESSING IMPERIAL COLLEGE

More information

A Probabilistic Hoare-style logic for Game-based Cryptographic Proofs (Extended Version)

A Probabilistic Hoare-style logic for Game-based Cryptographic Proofs (Extended Version) A Probabilistic Hoare-style logic for Game-based Cryptographic Proofs (Extended Version) Ricardo Corin and Jerry den Hartog {ricardo.corin,jerry.denhartog}@cs.utwente.nl Department of Computer Science,

More information

Math 312/ AMS 351 (Fall 17) Sample Questions for Final

Math 312/ AMS 351 (Fall 17) Sample Questions for Final Math 312/ AMS 351 (Fall 17) Sample Questions for Final 1. Solve the system of equations 2x 1 mod 3 x 2 mod 7 x 7 mod 8 First note that the inverse of 2 is 2 mod 3. Thus, the first equation becomes (multiply

More information

Linear Regression and Its Applications

Linear Regression and Its Applications Linear Regression and Its Applications Predrag Radivojac October 13, 2014 Given a data set D = {(x i, y i )} n the objective is to learn the relationship between features and the target. We usually start

More information

Linear Regression. In this problem sheet, we consider the problem of linear regression with p predictors and one intercept,

Linear Regression. In this problem sheet, we consider the problem of linear regression with p predictors and one intercept, Linear Regression In this problem sheet, we consider the problem of linear regression with p predictors and one intercept, y = Xβ + ɛ, where y t = (y 1,..., y n ) is the column vector of target values,

More information

Deterministic Polynomial Time Equivalence of Computing the RSA Secret Key and Factoring

Deterministic Polynomial Time Equivalence of Computing the RSA Secret Key and Factoring Deterministic Polynomial Time Equivalence of Computing the RSA Secret Key and Factoring Jean-Sébastien Coron and Alexander May Gemplus Card International 34 rue Guynemer, 92447 Issy-les-Moulineaux, France

More information

A Knapsack Cryptosystem Secure Against Attacks Using Basis Reduction and Integer Programming

A Knapsack Cryptosystem Secure Against Attacks Using Basis Reduction and Integer Programming A Knapsack Cryptosystem Secure Against Attacks Using Basis Reduction and Integer Programming Bala Krishnamoorthy William Webb Nathan Moyer Washington State University ISMP 2006 August 2, 2006 Public Key

More information

Side-channel analysis in code-based cryptography

Side-channel analysis in code-based cryptography 1 Side-channel analysis in code-based cryptography Tania RICHMOND IMATH Laboratory University of Toulon SoSySec Seminar Rennes, April 5, 2017 Outline McEliece cryptosystem Timing Attack Power consumption

More information

Model Checking & Program Analysis

Model Checking & Program Analysis Model Checking & Program Analysis Markus Müller-Olm Dortmund University Overview Introduction Model Checking Flow Analysis Some Links between MC and FA Conclusion Apology for not giving proper credit to

More information

Quantitative Static Analysis of Distributed Systems

Quantitative Static Analysis of Distributed Systems To appear in the J. Functional Programming 1 Quantitative Static Analysis of Distributed Systems ALESSANDRA Di PIERRO University of Pisa (e-mail: dipierro@di.unipi.it CHRIS HANKIN and HERBERT WIKLICKY

More information

CS477 Formal Software Dev Methods

CS477 Formal Software Dev Methods CS477 Formal Software Dev Methods Elsa L Gunter 2112 SC, UIUC egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul Agha

More information

Introduction to Cryptology. Lecture 20

Introduction to Cryptology. Lecture 20 Introduction to Cryptology Lecture 20 Announcements HW9 due today HW10 posted, due on Thursday 4/30 HW7, HW8 grades are now up on Canvas. Agenda More Number Theory! Our focus today will be on computational

More information

Introduction to Modern Cryptography. Benny Chor

Introduction to Modern Cryptography. Benny Chor Introduction to Modern Cryptography Benny Chor RSA Public Key Encryption Factoring Algorithms Lecture 7 Tel-Aviv University Revised March 1st, 2008 Reminder: The Prime Number Theorem Let π(x) denote the

More information

CS 395T. Probabilistic Polynomial-Time Calculus

CS 395T. Probabilistic Polynomial-Time Calculus CS 395T Probabilistic Polynomial-Time Calculus Security as Equivalence Intuition: encryption scheme is secure if ciphertext is indistinguishable from random noise Intuition: protocol is secure if it is

More information

Principles of Program Analysis: Data Flow Analysis

Principles of Program Analysis: Data Flow Analysis Principles of Program Analysis: Data Flow Analysis Transparencies based on Chapter 2 of the book: Flemming Nielson, Hanne Riis Nielson and Chris Hankin: Principles of Program Analysis. Springer Verlag

More information

Theories of Programming Languages Assignment 5

Theories of Programming Languages Assignment 5 Theories of Programming Languages Assignment 5 December 17, 2012 1. Lambda-Calculus (see Fig. 1 for initions of = β, normal order evaluation and eager evaluation). (a) Let Ω = ((λx. x x) (λx. x x)), and

More information

1 What are Physical Attacks. 2 Physical Attacks on RSA. Today:

1 What are Physical Attacks. 2 Physical Attacks on RSA. Today: Today: Introduction to the class. Examples of concrete physical attacks on RSA A computational approach to cryptography Pseudorandomness 1 What are Physical Attacks Tampering/Leakage attacks Issue of how

More information

Recent Developments in and Around Coaglgebraic Logics

Recent Developments in and Around Coaglgebraic Logics Recent Developments in and Around Coaglgebraic Logics D. Pattinson, Imperial College London (in collaboration with G. Calin, R. Myers, L. Schröder) Example: Logics in Knowledge Representation Knowledge

More information

Formal Fault Analysis of Branch Predictors: Attacking countermeasures of Asymmetric key ciphers

Formal Fault Analysis of Branch Predictors: Attacking countermeasures of Asymmetric key ciphers Formal Fault Analysis of Branch Predictors: Attacking countermeasures of Asymmetric key ciphers Sarani Bhattacharya and Debdeep Mukhopadhyay Indian Institute of Technology Kharagpur PROOFS 2016 August

More information

Introduction to Modern Cryptography. Lecture RSA Public Key CryptoSystem 2. One way Trapdoor Functions

Introduction to Modern Cryptography. Lecture RSA Public Key CryptoSystem 2. One way Trapdoor Functions Introduction to Modern Cryptography Lecture 7 1. RSA Public Key CryptoSystem 2. One way Trapdoor Functions Diffie and Hellman (76) New Directions in Cryptography Split the Bob s secret key K to two parts:

More information

CMSC 631 Program Analysis and Understanding. Spring Data Flow Analysis

CMSC 631 Program Analysis and Understanding. Spring Data Flow Analysis CMSC 631 Program Analysis and Understanding Spring 2013 Data Flow Analysis Data Flow Analysis A framework for proving facts about programs Reasons about lots of little facts Little or no interaction between

More information

DERIVING AND PROVING ABSTRACT NON-INTERFERENCE

DERIVING AND PROVING ABSTRACT NON-INTERFERENCE DERIVING AND PROVING ABSTRACT NON-INTERFERENCE Roberto Giacobazzi and Isabella Mastroeni Dipartimento di Informatica Università di Verona Italy Paris, February 20th, 2004 Deriving and Proving Abstract

More information

Foundations of Abstract Interpretation

Foundations of Abstract Interpretation Escuela 03 II / 1 Foundations of Abstract Interpretation David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 II / 2 Outline 1. Lattices and continuous functions 2. Galois connections,

More information

The priority promotion approach to parity games

The priority promotion approach to parity games The priority promotion approach to parity games Massimo Benerecetti 1, Daniele Dell Erba 1, and Fabio Mogavero 2 1 Università degli Studi di Napoli Federico II 2 Università degli Studi di Verona Abstract.

More information

DFA of non-distributive properties

DFA of non-distributive properties DFA of non-distributive properties The general pattern of Dataflow Analysis GA (p)= i if p E { GA (q) q F } otherwise GA (p)= f p ( GA (p) ) where : E is the set of initial/final points of the control-flow

More information

14 Singular Value Decomposition

14 Singular Value Decomposition 14 Singular Value Decomposition For any high-dimensional data analysis, one s first thought should often be: can I use an SVD? The singular value decomposition is an invaluable analysis tool for dealing

More information

The Shortest Vector Problem (Lattice Reduction Algorithms)

The Shortest Vector Problem (Lattice Reduction Algorithms) The Shortest Vector Problem (Lattice Reduction Algorithms) Approximation Algorithms by V. Vazirani, Chapter 27 - Problem statement, general discussion - Lattices: brief introduction - The Gauss algorithm

More information

Chapter 4. Solving Systems of Equations. Chapter 4

Chapter 4. Solving Systems of Equations. Chapter 4 Solving Systems of Equations 3 Scenarios for Solutions There are three general situations we may find ourselves in when attempting to solve systems of equations: 1 The system could have one unique solution.

More information

Principles of Program Analysis: Control Flow Analysis

Principles of Program Analysis: Control Flow Analysis Principles of Program Analysis: Control Flow Analysis Transparencies based on Chapter 3 of the book: Flemming Nielson, Hanne Riis Nielson and Chris Hankin: Principles of Program Analysis. Springer Verlag

More information

Lecture 4 Chiu Yuen Koo Nikolai Yakovenko. 1 Summary. 2 Hybrid Encryption. CMSC 858K Advanced Topics in Cryptography February 5, 2004

Lecture 4 Chiu Yuen Koo Nikolai Yakovenko. 1 Summary. 2 Hybrid Encryption. CMSC 858K Advanced Topics in Cryptography February 5, 2004 CMSC 858K Advanced Topics in Cryptography February 5, 2004 Lecturer: Jonathan Katz Lecture 4 Scribe(s): Chiu Yuen Koo Nikolai Yakovenko Jeffrey Blank 1 Summary The focus of this lecture is efficient public-key

More information

2 Conceptual Framework Before introducing the probabilistic concurrent constraint (PCCP) language we have to discuss a basic question: What is a proba

2 Conceptual Framework Before introducing the probabilistic concurrent constraint (PCCP) language we have to discuss a basic question: What is a proba On Probabilistic CCP Alessandra Di Pierro and Herbert Wiklicky fadp,herbertg@cs.city.ac.uk City University London, Northampton Square, London EC1V OHB Abstract This paper investigates a probabilistic version

More information

Definition of a finite group

Definition of a finite group Elliptic curves Definition of a finite group (G, * ) is a finite group if: 1. G is a finite set. 2. For each a and b in G, also a * b is in G. 3. There is an e in G such that for all a in G, a * e= e *

More information

Abstract Interpretation and Static Analysis

Abstract Interpretation and Static Analysis / 1 Abstract Interpretation and Static Analysis David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Welcome! / 2 / 3 Four parts 1. Introduction to static analysis what it is and how to apply

More information

7 Principal Component Analysis

7 Principal Component Analysis 7 Principal Component Analysis This topic will build a series of techniques to deal with high-dimensional data. Unlike regression problems, our goal is not to predict a value (the y-coordinate), it is

More information

Properties of the least squares estimates

Properties of the least squares estimates Properties of the least squares estimates 2019-01-18 Warmup Let a and b be scalar constants, and X be a scalar random variable. Fill in the blanks E ax + b) = Var ax + b) = Goal Recall that the least squares

More information

Static Analysis: Applications and Logics

Static Analysis: Applications and Logics Escuela 03 IV / 1 Static Analysis: Applications and Logics David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 IV / 2 Outline 1. Applications: abstract testing and safety checking

More information

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007 Dynamic Noninterference Analysis Using Context Sensitive Static Analyses Gurvan Le Guernic July 14, 2007 1 Abstract This report proposes a dynamic noninterference analysis for sequential programs. This

More information

Practical Analysis of Key Recovery Attack against Search-LWE Problem

Practical Analysis of Key Recovery Attack against Search-LWE Problem Practical Analysis of Key Recovery Attack against Search-LWE Problem The 11 th International Workshop on Security, Sep. 13 th 2016 Momonari Kudo, Junpei Yamaguchi, Yang Guo and Masaya Yasuda 1 Graduate

More information

Least Squares and Kalman Filtering Questions: me,

Least Squares and Kalman Filtering Questions:  me, Least Squares and Kalman Filtering Questions: Email me, namrata@ece.gatech.edu Least Squares and Kalman Filtering 1 Recall: Weighted Least Squares y = Hx + e Minimize Solution: J(x) = (y Hx) T W (y Hx)

More information

VAR Model. (k-variate) VAR(p) model (in the Reduced Form): Y t-2. Y t-1 = A + B 1. Y t + B 2. Y t-p. + ε t. + + B p. where:

VAR Model. (k-variate) VAR(p) model (in the Reduced Form): Y t-2. Y t-1 = A + B 1. Y t + B 2. Y t-p. + ε t. + + B p. where: VAR Model (k-variate VAR(p model (in the Reduced Form: where: Y t = A + B 1 Y t-1 + B 2 Y t-2 + + B p Y t-p + ε t Y t = (y 1t, y 2t,, y kt : a (k x 1 vector of time series variables A: a (k x 1 vector

More information

CS20a: Turing Machines (Oct 29, 2002)

CS20a: Turing Machines (Oct 29, 2002) CS20a: Turing Machines (Oct 29, 2002) So far: DFA = regular languages PDA = context-free languages Today: Computability 1 Church s thesis The computable functions are the same as the partial recursive

More information

1 Linear transformations; the basics

1 Linear transformations; the basics Linear Algebra Fall 2013 Linear Transformations 1 Linear transformations; the basics Definition 1 Let V, W be vector spaces over the same field F. A linear transformation (also known as linear map, or

More information

Basic elements of number theory

Basic elements of number theory Cryptography Basic elements of number theory Marius Zimand By default all the variables, such as a, b, k, etc., denote integer numbers. Divisibility a 0 divides b if b = a k for some integer k. Notation

More information

Basic elements of number theory

Basic elements of number theory Cryptography Basic elements of number theory Marius Zimand 1 Divisibility, prime numbers By default all the variables, such as a, b, k, etc., denote integer numbers. Divisibility a 0 divides b if b = a

More information

Intelligent Systems (AI-2)

Intelligent Systems (AI-2) Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 11 Oct, 3, 2016 CPSC 422, Lecture 11 Slide 1 422 big picture: Where are we? Query Planning Deterministic Logics First Order Logics Ontologies

More information

The Bucket Elimination Algorithm for Belief Net Inference R Greiner October 22, 2006

The Bucket Elimination Algorithm for Belief Net Inference R Greiner October 22, 2006 The Bucket Elimination Algorithm for Belief Net Inference R Greiner October 22, 2006 In general, the input to the BuckElim algorithm is a belief net (structure plus CPtables) here: the Belief Net shown

More information

ENEE 457: Computer Systems Security 10/3/16. Lecture 9 RSA Encryption and Diffie-Helmann Key Exchange

ENEE 457: Computer Systems Security 10/3/16. Lecture 9 RSA Encryption and Diffie-Helmann Key Exchange ENEE 457: Computer Systems Security 10/3/16 Lecture 9 RSA Encryption and Diffie-Helmann Key Exchange Charalampos (Babis) Papamanthou Department of Electrical and Computer Engineering University of Maryland,

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-1617/spa/ Software Architektur Praxis-Workshop Bringen Sie Informatik

More information

EIGENVALUE PROBLEMS. Background on eigenvalues/ eigenvectors / decompositions. Perturbation analysis, condition numbers..

EIGENVALUE PROBLEMS. Background on eigenvalues/ eigenvectors / decompositions. Perturbation analysis, condition numbers.. EIGENVALUE PROBLEMS Background on eigenvalues/ eigenvectors / decompositions Perturbation analysis, condition numbers.. Power method The QR algorithm Practical QR algorithms: use of Hessenberg form and

More information

Methods of Mathematical Physics X1 Homework 2 - Solutions

Methods of Mathematical Physics X1 Homework 2 - Solutions Methods of Mathematical Physics - 556 X1 Homework - Solutions 1. Recall that we define the orthogonal complement as in class: If S is a vector space, and T is a subspace, then we define the orthogonal

More information

Least Squares Estimation Namrata Vaswani,

Least Squares Estimation Namrata Vaswani, Least Squares Estimation Namrata Vaswani, namrata@iastate.edu Least Squares Estimation 1 Recall: Geometric Intuition for Least Squares Minimize J(x) = y Hx 2 Solution satisfies: H T H ˆx = H T y, i.e.

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 16: Abstract Interpretation VI (Counterexample-Guided Abstraction Refinement) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 4 Ana Bove March 23rd 2018 Recap: Formal Proofs How formal should a proof be? Depends on its purpose...... but should be convincing......

More information

Objective Type Questions

Objective Type Questions DISTANCE EDUCATION, UNIVERSITY OF CALICUT NUMBER THEORY AND LINEARALGEBRA Objective Type Questions Shyama M.P. Assistant Professor Department of Mathematics Malabar Christian College, Calicut 7/3/2014

More information

Cryptosystem. Traditional Cryptosystems: The two parties agree on a secret (one to one) function f. To send a message M, thesendersendsthemessage

Cryptosystem. Traditional Cryptosystems: The two parties agree on a secret (one to one) function f. To send a message M, thesendersendsthemessage Cryptosystem Traditional Cryptosystems: The two parties agree on a secret (one to one) function f. To send a message M, thesendersendsthemessage f(m). The receiver computes f 1 (f(m)). Advantage: Cannot

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017 Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017 Lecture 4 Ana Bove March 24th 2017 Structural induction; Concepts of automata theory. Overview of today s lecture: Recap: Formal Proofs

More information

Hoare Logic (I): Axiomatic Semantics and Program Correctness

Hoare Logic (I): Axiomatic Semantics and Program Correctness Hoare Logic (I): Axiomatic Semantics and Program Correctness (Based on [Apt and Olderog 1991; Gries 1981; Hoare 1969; Kleymann 1999; Sethi 199]) Yih-Kuen Tsay Dept. of Information Management National Taiwan

More information

Lecture 1. 1 Introduction to These Notes. 2 Trapdoor Permutations. CMSC 858K Advanced Topics in Cryptography January 27, 2004

Lecture 1. 1 Introduction to These Notes. 2 Trapdoor Permutations. CMSC 858K Advanced Topics in Cryptography January 27, 2004 CMSC 858K Advanced Topics in Cryptography January 27, 2004 Lecturer: Jonathan Katz Lecture 1 Scribe(s): Jonathan Katz 1 Introduction to These Notes These notes are intended to supplement, not replace,

More information

STAT 100C: Linear models

STAT 100C: Linear models STAT 100C: Linear models Arash A. Amini June 9, 2018 1 / 56 Table of Contents Multiple linear regression Linear model setup Estimation of β Geometric interpretation Estimation of σ 2 Hat matrix Gram matrix

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem

More information

Algebra C Numerical Linear Algebra Sample Exam Problems

Algebra C Numerical Linear Algebra Sample Exam Problems Algebra C Numerical Linear Algebra Sample Exam Problems Notation. Denote by V a finite-dimensional Hilbert space with inner product (, ) and corresponding norm. The abbreviation SPD is used for symmetric

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 13: Abstract Interpretation III (Abstract Interpretation of WHILE Programs) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de

More information

LINEAR SYSTEMS (11) Intensive Computation

LINEAR SYSTEMS (11) Intensive Computation LINEAR SYSTEMS () Intensive Computation 27-8 prof. Annalisa Massini Viviana Arrigoni EXACT METHODS:. GAUSSIAN ELIMINATION. 2. CHOLESKY DECOMPOSITION. ITERATIVE METHODS:. JACOBI. 2. GAUSS-SEIDEL 2 CHOLESKY

More information

Data Flow Analysis. Lecture 6 ECS 240. ECS 240 Data Flow Analysis 1

Data Flow Analysis. Lecture 6 ECS 240. ECS 240 Data Flow Analysis 1 Data Flow Analysis Lecture 6 ECS 240 ECS 240 Data Flow Analysis 1 The Plan Introduce a few example analyses Generalize to see the underlying theory Discuss some more advanced issues ECS 240 Data Flow Analysis

More information

Computational Complexity of Inference

Computational Complexity of Inference Computational Complexity of Inference Sargur srihari@cedar.buffalo.edu 1 Topics 1. What is Inference? 2. Complexity Classes 3. Exact Inference 1. Variable Elimination Sum-Product Algorithm 2. Factor Graphs

More information

Reasoning under Uncertainty: Intro to Probability

Reasoning under Uncertainty: Intro to Probability Reasoning under Uncertainty: Intro to Probability Computer Science cpsc322, Lecture 24 (Textbook Chpt 6.1, 6.1.1) March, 15, 2010 CPSC 322, Lecture 24 Slide 1 To complete your Learning about Logics Review

More information

Econometrics A. Simple linear model (2) Keio University, Faculty of Economics. Simon Clinet (Keio University) Econometrics A October 16, / 11

Econometrics A. Simple linear model (2) Keio University, Faculty of Economics. Simon Clinet (Keio University) Econometrics A October 16, / 11 Econometrics A Keio University, Faculty of Economics Simple linear model (2) Simon Clinet (Keio University) Econometrics A October 16, 2018 1 / 11 Estimation of the noise variance σ 2 In practice σ 2 too

More information

Principles of Program Analysis: Abstract Interpretation

Principles of Program Analysis: Abstract Interpretation Principles of Program Analysis: Abstract Interpretation Transparencies based on Chapter 4 of the book: Flemming Nielson, Hanne Riis Nielson and Chris Hankin: Principles of Program Analysis. Springer Verlag

More information

A variant of the F4 algorithm

A variant of the F4 algorithm A variant of the F4 algorithm Vanessa VITSE - Antoine JOUX Université de Versailles Saint-Quentin, Laboratoire PRISM CT-RSA, February 18, 2011 Motivation Motivation An example of algebraic cryptanalysis

More information

CS281 Section 4: Factor Analysis and PCA

CS281 Section 4: Factor Analysis and PCA CS81 Section 4: Factor Analysis and PCA Scott Linderman At this point we have seen a variety of machine learning models, with a particular emphasis on models for supervised learning. In particular, we

More information

Computer Science and State Machines

Computer Science and State Machines Computer Science and State Machines Leslie Lamport 8 June 2008 minor correction on 13 January 2018 Contribution to a Festschrift honoring Willem-Paul de Roever on his retirement. Computation Computer science

More information

Cheng Soon Ong & Christian Walder. Canberra February June 2018

Cheng Soon Ong & Christian Walder. Canberra February June 2018 Cheng Soon Ong & Christian Walder Research Group and College of Engineering and Computer Science Canberra February June 2018 Outlines Overview Introduction Linear Algebra Probability Linear Regression

More information

Estimation of the Response Mean. Copyright c 2012 Dan Nettleton (Iowa State University) Statistics / 27

Estimation of the Response Mean. Copyright c 2012 Dan Nettleton (Iowa State University) Statistics / 27 Estimation of the Response Mean Copyright c 202 Dan Nettleton (Iowa State University) Statistics 5 / 27 The Gauss-Markov Linear Model y = Xβ + ɛ y is an n random vector of responses. X is an n p matrix

More information

Dataflow Analysis. Chapter 9, Section 9.2, 9.3, 9.4

Dataflow Analysis. Chapter 9, Section 9.2, 9.3, 9.4 Dataflow Analysis Chapter 9, Section 9.2, 9.3, 9.4 2 Dataflow Analysis Dataflow analysis is a sub area of static program analysis Used in the compiler back end for optimizations of three address code and

More information

EE263 Review Session 1

EE263 Review Session 1 EE263 Review Session 1 October 5, 2018 0.1 Importing Variables from a MALAB.m file If you are importing variables given in file vars.m, use the following code at the beginning of your script. close a l

More information

σ 11 σ 22 σ pp 0 with p = min(n, m) The σ ii s are the singular values. Notation change σ ii A 1 σ 2

σ 11 σ 22 σ pp 0 with p = min(n, m) The σ ii s are the singular values. Notation change σ ii A 1 σ 2 HE SINGULAR VALUE DECOMPOSIION he SVD existence - properties. Pseudo-inverses and the SVD Use of SVD for least-squares problems Applications of the SVD he Singular Value Decomposition (SVD) heorem For

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 14 October 23, 2017 CPSC 467, Lecture 14 1/42 Computing in Z n Modular multiplication Modular inverses Extended Euclidean algorithm

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-1617/spa/ Software Architektur Praxis-Workshop Bringen Sie Informatik

More information

AST rewriting. Part I: Specifying Transformations. Imperative object programs. The need for path queries. fromentry, paths, toexit.

AST rewriting. Part I: Specifying Transformations. Imperative object programs. The need for path queries. fromentry, paths, toexit. Part I: Specifying Transformations Oege de Moor Ganesh Sittampalam Programming Tools Group, Oxford focus AST rewriting To apply rule: rewrite(pat 0, pat 1 ) Match: focus = φ(pat 0 ) Replace: focus := φ(pat

More information

A NOTE ON A YAO S THEOREM ABOUT PSEUDORANDOM GENERATORS

A NOTE ON A YAO S THEOREM ABOUT PSEUDORANDOM GENERATORS A NOTE ON A YAO S THEOREM ABOUT PSEUDORANDOM GENERATORS STÉPHANE BALLET AND ROBERT ROLLAND Abstract. The Yao s theorem gives an equivalence between the indistinguishability of a pseudorandom generator

More information

Introduction Probabilistic Programming ProPPA Inference Results Conclusions. Embedding Machine Learning in Stochastic Process Algebra.

Introduction Probabilistic Programming ProPPA Inference Results Conclusions. Embedding Machine Learning in Stochastic Process Algebra. Embedding Machine Learning in Stochastic Process Algebra Jane Hillston Joint work with Anastasis Georgoulas and Guido Sanguinetti, School of Informatics, University of Edinburgh 16th August 2017 quan col....

More information

Cryptanalysis of a Public Key Cryptosystem Proposed at ACISP 2000

Cryptanalysis of a Public Key Cryptosystem Proposed at ACISP 2000 Cryptanalysis of a Public Key Cryptosystem Proposed at ACISP 2000 Amr Youssef 1 and Guang Gong 2 1 Center for Applied Cryptographic Research Department of Combinatorics & Optimization 2 Department of Electrical

More information

Introduction to Modern Cryptography. Benny Chor

Introduction to Modern Cryptography. Benny Chor Introduction to Modern Cryptography Benny Chor RSA: Review and Properties Factoring Algorithms Trapdoor One Way Functions PKC Based on Discrete Logs (Elgamal) Signature Schemes Lecture 8 Tel-Aviv University

More information

Statement: With my signature I confirm that the solutions are the product of my own work. Name: Signature:.

Statement: With my signature I confirm that the solutions are the product of my own work. Name: Signature:. MATHEMATICAL STATISTICS Take-home final examination February 1 st -February 8 th, 019 Instructions You do not need to edit the solutions Just make sure the handwriting is legible The final solutions should

More information

Vector Barrier Certificates and Comparison Systems

Vector Barrier Certificates and Comparison Systems Vector Barrier Certificates and Comparison Systems Andrew Sogokon 1 Khalil Ghorbal 2 Yong Kiam Tan 1 André Platzer 1 1 - Carnegie Mellon University, Pittsburgh, USA 2 - Inria, Rennes, France 16 July 2018,

More information

Chapter 7. Canonical Forms. 7.1 Eigenvalues and Eigenvectors

Chapter 7. Canonical Forms. 7.1 Eigenvalues and Eigenvectors Chapter 7 Canonical Forms 7.1 Eigenvalues and Eigenvectors Definition 7.1.1. Let V be a vector space over the field F and let T be a linear operator on V. An eigenvalue of T is a scalar λ F such that there

More information