Z3 used for Resolving PG
Explore到了每一步,应该是都扔到Z3里面去确定到底下一步要做什么
主要是PG,你new了实例情况也算差不多吧
这个我觉得Dev不可能控制这么细节的东西
他不一定非要是PG
他把目前的状态信息扔进Z3
然后Z3返回一个序列
然后他就按照这个序列一个一个地issue action
比如他到了S17
然后Z3返回告诉他,S17后面有 A,B,C 这几个action
A,B,C 的顺序是Z3告诉他的
他只管调
说不准哪天Z3返回个B,C,A
不可能有兴趣三天两头去改这个顺序
Z3是通过某个东西来做随机的
就像你Explore一个没有bound的int 值
它给你返回的顺序是 1,200, -987 还是 9, 456, 0 都是不一定的
这个随机 据说是根据某些地址或者dll的大小等计算的
所以返回到你这个case,不是问题
要看你的测试注重哪个方面,
如果bound是必须的,那么你就存两份Exploration result
如果不是必须的,建议你增加bound,把图Explore全
Tranversal 的过程和这个Z3 有关系么?
和Z3没关系
Z3只跟Explore有关系
Traversal 纯粹是我们自己做的,确定的 是吧?(是)
Explore到了每一步,应该是都扔到Z3里面去确定到底下一步要做什么
主要是PG,你new了实例情况也算差不多吧
这个我觉得Dev不可能控制这么细节的东西
他不一定非要是PG
他把目前的状态信息扔进Z3
然后Z3返回一个序列
然后他就按照这个序列一个一个地issue action
比如他到了S17
然后Z3返回告诉他,S17后面有 A,B,C 这几个action
A,B,C 的顺序是Z3告诉他的
他只管调
说不准哪天Z3返回个B,C,A
不可能有兴趣三天两头去改这个顺序
Z3是通过某个东西来做随机的
就像你Explore一个没有bound的int 值
它给你返回的顺序是 1,200, -987 还是 9, 456, 0 都是不一定的
这个随机 据说是根据某些地址或者dll的大小等计算的
所以返回到你这个case,不是问题
要看你的测试注重哪个方面,
如果bound是必须的,那么你就存两份Exploration result
如果不是必须的,建议你增加bound,把图Explore全
Tranversal 的过程和这个Z3 有关系么?
和Z3没关系
Z3只跟Explore有关系
Traversal 纯粹是我们自己做的,确定的 是吧?(是)