×

顺序和并发C程序的有效验证。 (英语) Zbl 1101.68677号

摘要:在过去几年里,软件验证领域取得了相当大的进展。这一进步在很大程度上是由强大但自动化的抽象技术(如谓词抽象)的出现推动的。然而,模型检查中的状态空间爆炸问题仍然是实际分布式系统实际验证的主要障碍。即使在纯顺序程序的情况下,使谓词抽象有效的一个关键要求是尽可能少地使用谓词。这是因为,在最坏的情况下,生成的抽象的状态空间(以及抽象过程的时间和内存复杂性)在所涉及的谓词数量上呈指数级增长。此外,对于并发程序,可到达状态的数量可能会随着组件的数量呈指数级增长。
我们试图在根据安全规范验证并发(消息传递)C程序的上下文中解决这些问题。更具体地说,我们提出了一个完全自动化的组合框架,它在一个反例引导的抽象细化方案中结合了两种正交抽象技术(数据的谓词抽象和事件的操作引导的抽象)。通过这种方式,我们的算法逐渐增加抽象的粒度,直到规范被建立或反驳。此外,我们方法的一个关键特征是,如果基于给定的有限谓词集P可以证明一个属性保持或不保持,那么本文中提出的谓词求精过程会自动找到一个足够证明的P的最小子集。这一点,再加上我们对合成性的明确使用,尽可能长时间地延迟了状态空间爆炸的开始。我们详细描述了我们的方法,并报告了使用我们的工具MAGIC获得的一些非常令人鼓舞的实验结果。

MSC公司:

第68季度第60季度 规范和验证(程序逻辑、模型检查等)
68问题85 并发和分布式计算的模型和方法(过程代数、互模拟、转换网等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部