YASM的先前结果重用
1. 引言
在软件模型检查中,反例引导抽象细化(CEGAR)框架是一种广泛使用的方法。然而,随着迭代次数的增加,每次迭代都重新计算所有信息会导致大量的重复计算和低效的资源消耗。为了提高效率和减少冗余计算,YASM工具引入了一种机制,可以在连续的CEGAR循环迭代之间重用之前计算出的结果。本文将详细介绍这种重用机制的具体实现和应用。
2. CEGAR框架简介
CEGAR(Counterexample-Guided Abstraction Refinement)是一种逐步细化抽象的方法,旨在通过反例不断改进抽象模型,最终达到准确验证或反驳目标属性的目的。具体步骤如下:
- 初始抽象 :从一个粗略的抽象模型开始。
- 模型检查 :对该抽象模型进行模型检查,查找是否存在反例。
- 反例分析 :如果找到反例,则分析该反例是否确实违反了目标属性。
- 抽象细化 :根据反例调整抽象模型,消除假阳性。
- 重复 :回到步骤2,继续检查新细化后的模型,直到不再找到反例或证明属性成立。
3. 结果重用的基本原理
在CEGAR框架中,每次细化都会产生新的抽象模型,而这些新模型往往与之前的抽象模型有很多相似之处。因此,直接从头开始计算新模型的所有信息显然是低效的。为了提高效率,YASM工具引入了结果重用机制,主要体现在以下几
超级会员免费看
订阅专栏 解锁全文
1138

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



