这大概是初学自动验证(Automated Verification)者常问的问题吧?
SMV也好,SPIN也好,写出来的代码并不清楚直白,一个简单的多路电梯就够人写上几天(不然也不至于有LTL Patterns一类的东西了
)。我们怎么才轻松地知道自己写的验证程序本身没有错误呢?我只知道有人在Vacuity问题上做文章,可惜那只是一种错误。就算有meta verfication, 又有谁来验证meta verification呢?推而广之,如果有meta^(n-1) verification, 是不是得有meta^{n} verification呢?另一方面,能随时验证自己的工作也是编程的乐趣之一。现在的程序当然也不容易验证,但至少写来颇有乐趣,因为我们有单元测试。每写几行代码,就可以运行一下,看看是不是所写即所想。如果几小时都能不能验证自己写的东西,那岂不会无聊到死?
谁来验证验证程序?
博客探讨了初学自动验证时遇到的问题,如代码不直白,验证程序本身的错误难以确认,即便有meta verification也需进一步验证。同时指出编程乐趣在于能随时验证工作,单元测试可让开发者每写几行代码就进行验证,避免长时间无法验证的无聊。

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



