YASM的动机与实现
1 动机
在软件开发过程中,模型检查器(Model Checker)扮演着至关重要的角色,尤其是在验证和反驳软件属性方面。传统的软件模型检查器倾向于构建过近似的抽象,这意味着它们通常会引入一些可能不存在的行为,以简化验证过程。这种做法虽然有助于证明某个性质是否成立(验证),但在用于反驳(证明某个性质不成立)时却显得不够合理。因为引入的虚假行为可能会掩盖真正的错误,使得找到实际问题变得更加困难。
为了应对这一挑战,YASM(Yet Another Software Model-Checker)应运而生。YASM的目标是平衡验证和反驳的需求,避免引入不必要的虚假行为,从而提高模型检查的有效性和准确性。
1.1 传统模型检查器的局限性
传统模型检查器在验证属性时,通常会构建过近似的抽象,这意味着它们会引入一些可能存在的行为,以确保覆盖所有可能的执行路径。然而,这种做法在用于反驳时并不理想。具体来说:
- 引入虚假行为 :过近似的抽象可能会引入实际不存在的行为,使得模型检查器难以找到真实的错误。
- 性能问题 :过近似的抽象可能导致状态空间爆炸,进而影响模型检查的效率。
1.2 YASM的优势
YASM通过结合过近似和欠近似抽象,克服了传统模型检查器的局限性。具体来说:
- 精确性 :YASM能够在不引入虚假行为的前提下,有效地验证和反驳属性。
- 性能 <
超级会员免费看
订阅专栏 解锁全文

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



