Python中的程序验证

时间:2014-02-10 18:18:00

标签: python hoare-logic

我正在教授一本关于FOL和程序验证的课程,该课程的灵感来自于Mordechai Ben-Ari,计算机科学的数学逻辑,Springer,1993-2012。我想通过让学生用Python编写程序来说明这些概念。

对于FOL,我使用的是NLTK,它具有出色的FOL包。

但我还没有找到用于程序验证的Python包:插入前置条件和后置条件逻辑公式,查找循环不变量,逐步验证Python程序等等。换句话说,到在Python和Python程序中使用Hoare逻辑框架。

你知道这个任务的任何包吗?

1 个答案:

答案 0 :(得分:1)

你打算在计划验证方面教MOOC吗?或者它是一个普通的教室,带有显示代码的屏幕?你有空白的白板吗?

如果您愿意使用其他工具,那么由Philip Guo教授(http://www.pythontutor.com/)开发的在线Python教程是一个很好的工具。该工具允许您逐步执行程序,显示程序“状态”(变量及其具体值)。据我所知,它不直接允许您指定/推断前/后条件或循环不变量。所以,我可以看到一个案例,,作为一名教师,在一个板上写下前/后条件,逐步完成程序并通过显示具体条件解释条件确实适用的类使用python导师的变量值。几乎相似的方法可用于显示循环不变量。

话虽如此,pythontutor正在迅速普及,并向创作者询问其他功能可能就是这样!