Download Functional Verification - Solved Problem Set 7 | CEN 6070 and more Assignments Engineering in PDF only on Docsity!
Software Testing and Verification
Problem Set 7: Functional Verification – Solution Notes
1. p1 = (x>=1 -> x,z := 1,z(x-1)! | true -> I)
p2 = (x>=1 -> x,z := 0,zx! | true -> I) p3 = (x>=1 -> x,z := 1,zx!) P1 P2 P
f1 | N | N | C |
f2 | C | N | N |
f3 | N | C | N |
- P = S1; S2; S3 where S1 is y := yx, S2 is x := x+2, and S3 is y := yx s1 = x,y := x,yx s2 = x,y := x+2,y s3 = x,y := x,yx Therefore, P = s3 o s2 o s1. Does f = s3 o s2 o s1? = (x,y := x,yx) o (x,y := x+2,y) o (x,y := x,yx) = (x,y := x,yx) o (x,y := x+2,yx) = (x,y := x+2,yx(x+2)) = (x,y := x+2, y(x^2 +2x)
= f
- t = (a<-5 -> a, b := a+b, b-a | true -> a, b := b-a, a+b) and T is: if a<-5 then a := a+b b := 2b–a else a := b-a b := 2b–a end_if_else s1 = [S1] = (a,b := a,2b-a) o (a,b := a+b,b) = (a,b := a+b, 2b-(a+b)) = (a,b := a+b, b-a) s2 = [S2] = (a,b := a,2b-a) o (a,b := b-a,b) = (a,b := b-a, 2b-(b-a))
S
S
= (a,b := b-a, b+a) Does a<-5 => (t = s1)? a<-5 => s1 = (a,b := a+b, b-a)
a<-5 => t = (a, b := a+b, b-a)
Does a≥-5 => (t = s2)? a≥-5 => s2 = (a,b := b-a, b+a)
a≥-5 => t = (a, b := b-a, a+b)
- temp := x x := y y := temp if temp>z then y := z z := temp if x>y then temp := x x := y y := temp end_if end_if [P] = [S2] o [S1] [S2] = (temp>z -> [S2,2] o [S2,1] | temp≤z -> I) [S2,2] = (x>y -> [S2,2,1] | x≤y -> I) [S2,2,1] = (x,y,z,temp := y,x,z,x) [S2,2] = (x>y -> (x,y,z,temp := y,x,z,x) | x≤y -> I) [S2,1] = (x,y,z,temp := x,z,temp,temp) [S2] = (temp>z -> (x>y -> (x,y,z,temp := y,x,z,x) | x≤y -> I) o (x,y,z,temp := x,z,temp,temp) | temp≤z -> I) [S1] = (x,y,z,temp := y,x,z,x) [P] = (temp>z -> (x>y -> (x,y,z,temp := y,x,z,x) | x≤y -> I) o (x,y,z,temp := x,z,temp,temp)
S2,
S
S2,
S
S2,2,
=> a o g = a o (x, y, b := x+2, y+1, b)
and since x<y+b => x≤y+b after g ,
= (x, y, b := -x+2y+2b, -x+2y+b, b)
o (x, y, b := x+2, y+1, b)
= (x, y, b := -(x+2)+2(y+1)+2b,
-(x+2)+2(y+1)+b, b)
= (x, y, b := -x+2y+2b, -x+2y+b, b)
Does x≥y+b => (a = I)? Yes, by definition of a. (Show this!)
y := 1
k := 0
repeat
y := y 2
k := k+
until k=n
C = C1; C
c1 = [C1] = (y,k := 1,0) by observation c2 = [C2] = (k<n -> y,k := y2n-k,n) by hypothesis Hypothesized c = [C] = c2 o c1 = (k<n -> y,k := y2n-k,n) o (y,k := 1,0) = (0<n -> y,k := 2 n,n) Proof that c2 = [C2] = (k<n -> y,k := y2n-k,n): g = (y,k := 2y, k+1) by observation Does term (c2, C2 )? c2 is defined for k<n. The Method of Well-Founded Sets can be used to prove C2 terminates when k<n, initially, based on the measure k. Does ( p o g) Þ (c2 = g)? (k=n) o (y,k := 2y, k+1) => k 0 =n-1 => ( c2 = y,k := y2n-k,n = y,k := 2y,k+1)
=> ( g = y,k := 2y, k+1) Does ¬( p o g) Þ (c2 = c2 o g )? (k≠n) o (y,k := 2y, k+1) => k 0 ≠n-1 => k 0 >n-1 V k 0 <n-
C
C2 G
Case 1: Does k 0 >n-1 Þ (c2 = c2 o g )? k 0 >n-1 Þ (c2 = undefined)
k 0 >n-1 Þ (c2 o g = undefined o g = undefined) Since g (k>n-1) => k>n for which c2 is undefined. Case 2: Does k 0 <n-1 Þ (c2 = c2 o g )? k 0 <n-1 Þ (c2 = y,k := y2n-k,n)
k 0 <n-1 Þ (c2 o g = (y,k := y2n-k,n) o (y,k := 2y, k+1)
= (y,k := (2y)2n-(k+1),n) = (y,k := y2n-k,n) Since g (k 0 <n-1) => k<n for which c2 is defined.
7. a. while k<>n do y := y2; k := k+1 end_while
f = (k≤n -> y,k := y2n-k,n)
X f (X) f (X 0 )
y y2n-k^ y 02 n0-k
k n n 0
n n n 0
y2n-k^ = y 02 n0-k
n = n 0
y = y 02 (n0-k0)-(n0-k)^ = y 02 k-k
Therefore, the invariant is: y = y 02 k-k
(Note: an invariant that guarantees termination is k≤n Л y = y 02 k-k0.)
b. k := 0; y := 1; while k<>n do y := y2; k := k+1 end_while
f = (k≤n -> y,k := y2n-k,n)
h = (y,k := 1,0)
X f (X) f o h (X 0 )
y y2n-k^2 n
k n n 0
n n n 0
y2n-k^ = 2 n
n = n 0