×

自动对内存不足的程序进行演绎验证。 (英语) Zbl 1423.68111号

Beyer,Dirk(编辑)等人,《系统构建和分析的工具和算法》。2018年4月14日至20日在希腊塞萨洛尼基举行的第24届国际会议(TACAS 2018),是欧洲软件理论与实践联合会议(ETAPS 2018)的一部分。诉讼程序。第一部分查姆:施普林格。莱克特。注释计算。科学。10805, 190-209 (2018).
摘要:为弱内存模型(如C11内存模型)编写正确的程序具有挑战性,因为这些模型提供的一致性保证较弱。最近提出了第一个用于验证此类程序的程序逻辑,但迄今为止,它们的使用仅限于手动校对。由于高阶断言、模态和丰富的权限等特性,通过一阶解算器在这些逻辑中自动进行证明是不平凡的
在本文中,我们使用现有的演绎验证工具对弱内存程序逻辑进行了第一次编码。我们的工作首次实现了在程序逻辑提供的抽象级别上对C11程序进行(无边界)验证;唯一必要的用户交互是以程序逻辑中编写的规范的形式进行的。
我们讨论了三种最新的程序逻辑:松弛分离逻辑和两种形式的隔离分离逻辑,并展示了如何使用毒蛇验证基础设施对这些逻辑进行编码。在这样做的过程中,我们举例说明了几种可用于其他逻辑的新型编码技术。我们的工作已经实施,并根据现有论文以及Facebook开源Folly库的例子进行了评估。
关于整个系列,请参见[Zbl 1408.68006号]。

理学硕士:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
60年第68季度 规范和验证(程序逻辑、模型检查等)
68吨15 定理证明(演绎、解析等)(MSC2010)
PDF格式BibTeX公司 XML格式引用