资源边界分析与神经网络公平性认证技术
选择性摊销资源边界分析
选择性摊销的原理与实现
选择性摊销是介于最坏情况推理和完全摊销推理之间的一种资源分析方法。在资源使用场景中,对于共享同一资源 r 的情况,需要找到一个使用支配位置 ℓ,在该位置能证明低输入变量是常量。若能证明在程序执行到摊销段入口位置 ℓ 之前,低输入变量保持常量,就能满足段非干扰性(在段内的不确定性范围内)。
选择合适的分解策略是具有挑战性的,因为简化不变式推理的精度和摊销过程的精度之间存在矛盾,所以选择分解策略必然是启发式的。不过,任何分解方式在理论上都是合理的。
实验评估
为了验证选择性摊销的有效性,进行了一系列实验。实验考虑了以下研究问题:与最坏情况和完全摊销的极端情况相比,选择性摊销能否提高可验证程序的数量?
实验使用了两组断言:最精确边界断言和通过放宽最精确边界中的常量系数得到的常量弱化断言。对于每种配置,使用相同的验证工具,经过工具 Brbo(用 6000 行 Scala 实现)进行转换,使用 Z3 进行 SMT 求解,使用 ICRA 作为现成的不变式生成器。
实验结果总结在表 1 中:
| 类别 | 数量 | 代码行数 | 最精确边界 - 最坏情况 (n) (s) | 最精确边界 - 完全摊销 (n) (s) | 最精确边界 - 选择性摊销 (n) (s) | 常量弱化边界 - 最坏情况 (n) (s) | 常量弱化边界 - 完全摊销 (n) (s) | 常量弱化边界 - 选择性摊销 (n) (s) |
| — | — | — | — | — | — | — | — | — |
| la
超级会员免费看
订阅专栏 解锁全文
1119

被折叠的 条评论
为什么被折叠?



