SE 中Z3的一点相关内容

本文探讨了如何使用Z3解决程序探索的问题,特别是在无界整数探索中Z3的作用,以及它如何帮助确定下一步行动序列。文章还讨论了在程序状态探索过程中,Z3如何生成随机顺序并决定动作序列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 纯粹是我们自己做的,确定的 是吧?(是)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值