VeriCool公司

VeriCool:一个并发面向对象语言的自动验证程序。由于别名、动态绑定以及数据抽象和框架的需要,面向对象程序的推理是很困难的。关于并发面向对象程序的推理更加困难,因为一般来说,在每个程序点上都必须考虑到其他线程的干扰。本文提出了一种并发类Java程序的自动验证方法。该方法的基石是一个编程模型,一组规则,它将线程推理限制在同步点,这样人们就可以对大多数代码进行顺序推理。保证程序是自由规划,特别是符合模型的数据。与之前的编程模型相比,我们的方法在描述由对象锁保护的内存位置集时更加灵活。此外,我们将该模型与一种基于动态框架的数据抽象和框架方法相结合。据我们所知,这是第一篇结合动态框架和并发的论文。我们在一个名为VeriCool的工具中实现了这种方法,并用它来验证几个小型并发程序。