1

Is there any tool for bit vectors (QF_BV logic) which will symbolically execute the operations and return the outputs in terms of symbolic values of the bit vectors so that I can apply my own computations on them as needed? Or Is there any SMT solver where symbolic values of variables can be extracted after bit blasting? For example:

Let,

  1. X[3:0], Y[3:0], Z[4:0], W[4:0] are declared as bit vectors without initializing any value
  2. print X[3:0]
  3. X[3:0] <- X[3:0] >> 1 (logical shift)
  4. print X[3:0]
  5. Z[4:0] <- X[3:0] + Y[3:0]
  6. print Z[4:0]
  7. print Y[3:0]
  8. W[4:0] <- Y[3:0] + 0000
  9. print W[4:0]
  10. .......

Desired output (something symbolic like this):

2. [x3 x2 x1 x0]
4. [0 x3 x2 x1]
6. [s4 s3 s2 s1 s0]
7. [y3 y2 y1 y0]
9. [0 y3 y2 y1 y0]
Cactus
  • 27,075
  • 9
  • 69
  • 149

0 Answers0