Symbolic Testing
Symbolic Testing
Meenakshi D’Souza
1 Sum(a,b,c)
2 x = a+b ;
3 y = b+c;
4 z = x+y-b;
5 return(z);
6 end
After stmt. x y z a b c
1 ? ? ? 1 3 5
2 4 – – – – –
3 – 8 – – – –
4 – – 9 – – –
5 returns 9
After stmt. x y z a b c PC
1 ? ? ? α1 α2 α3 true
2 α1 + α2 – – – – – –
3 – α2 + α3 – – – – –
4 – – α1 + α2 + α3 – – – –
5 Returns α1 + α2 + α3
2 ∗ y == x
false true
x =0
y =1 x > y + 10
false true
x =2 x = 30
y =1 y = 15
ERROR
int f(int x)
{ return 2 ∗ x; }
int h(int x, int y) {
if (x! = y )
if (f(x) == x+10)
abort(x);
return 0;
}