关系抽象域与事件驱动程序验证技术探索
在软件开发中,关系抽象域的比较以及事件驱动多线程程序的验证是两个重要的研究方向。下面将详细介绍相关的算法和技术,以及它们的性能和优势。
关系抽象域的最小比较算法
在关系抽象域的研究中,提出了一种用于最小化比较关系不变量的算法。该算法旨在解决比较关系抽象域时的精度传递效应问题,为高级分析技术提供更清晰的精度优势。
算法效率评估
为了确定算法的效率,通过迭代深度计数来判断算法在达到稳定变量集进行比较之前的迭代次数。在区域(Zones)比较的所有实例中,迭代次数要么为零,要么为一,几乎没有异常值。这意味着区域在计算两个技术之间的变化变量集和依赖集时,要么立即相等,要么只需一次扩展就能捕获依赖变量集。
在将区域与关系谓词进行比较时,平均迭代次数在零到一次之间,但有一些异常值达到了两次迭代,还有 12 个极端异常值,其中 11 次为三次迭代,1 次为四次迭代。这表明在比较不同的关系抽象域时,算法的迭代次数会有所增加。
变量减少效果
为了评估算法的有效性,考虑比较所需的变量比例。通过对算法进行插桩,计算达到稳定集后返回的变量比例与输入不变量的变量投影的比例。结果表明,在区域技术之间的比较中,90%的比较中算法将比较所需的变量数量减少了 50%以上,93%的比较中至少减少了 25%。对于区域和关系谓词的比较,80%的比较中减少了 50%以上的相关变量,93%的比较中减少了 12%。
| 比较类型 | 变量减少 50%以上的比例 | 变量减少 25%以上 |
|---|
超级会员免费看
订阅专栏 解锁全文
1060

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



