返回
Model-Based Testing of an Intermediate Verifier Using Executable Operational Semantics
DOI:10.1007/978-3-032-10794-7_20.png)
摘要
En 中文
轻量级验证技术,如基于随机测试的方法,有时可作为完整形式化验证的实用替代方案——提供发现错误等宝贵益处,且无需付出不成比例的努力。实际上,这类验证技术甚至对已完全形式化验证的工具也有用,通过测试复杂系统中超出形式化模型覆盖范围的部件。在此背景下,本文介绍bcc:一种针对Boogie中间验证器的基于模型的测试技术。bcc结合了Boogie语言的一个小型确定性子集的形式化表示与plt Redex语言工程框架的生成能力。基本而言,bcc使用plt Redex生成随机Boogie程序,并按照形式化操作语义执行它们;然后,它将这些程序通过Boogie验证器运行。两种执行(在plt Redex和Boogie中)之间的任何不一致都可能表明Boogies实现中的潜在错误。为理解bcc在实践中是否有用,我们用它生成了三百万个Boogie程序。这些实验发现了2%的案例指示Boogies工具链中存在完备性失效(即虚假验证失败)。这些结果表明,轻量级分析工具(如基于模型的随机测试工具)对测试和验证形式化验证工具(如Boogie)同样有用。
Keyword:
FORMAL VERIFICATION
期刊
I
IF:
0
论文数:
23
被引数:
0

