首页> 外文会议>Formal Methods and Software Engineering; Lecture Notes in Computer Science; 4260 >A Statically Verifiable Programming Model for Concurrent Object-Oriented Programs
【24h】

A Statically Verifiable Programming Model for Concurrent Object-Oriented Programs

机译:并发面向对象程序的静态可验证编程模型

获取原文
获取原文并翻译 | 示例

摘要

Reasoning about multithreaded object-oriented programs is difficult, due to the non-local nature of object aliasing, data races, and deadlocks. We propose a programming model that prevents data races and deadlocks, and supports local reasoning in the presence of object aliasing and concurrency. Our programming model builds on the multithreading and synchronization primitives as they are present in current mainstream languages. Java or C# programs developed according to our model can be annotated by means of stylized comments to make the use of the model explicit. We show that such annotated programs can be formally verified to comply with the programming model. In other words, if the annotated program verifies, the underlying Java or C# program is guaranteed to be free from data races and deadlocks, and it is sound to reason locally about program behavior. We have implemented a verifier for programs developed according to our model in a custom build of the Spec# programming system, and have validated our approach on a case study.
机译:由于对象别名,数据争用和死锁的非本地性质,对多线程的面向对象程序进行推理很困难。我们提出了一种编程模型,该模型可防止数据争用和死锁,并在存在对象别名和并发的情况下支持局部推理。我们的编程模型基于当前主流语言中存在的多线程和同步原语。可以通过风格化注释对根据我们的模型开发的Java或C#程序进行注释,以明确使用模型。我们表明可以对此类带注释的程序进行正式验证,以符合编程模型。换句话说,如果带注释的程序经过验证,则可以确保基础Java或C#程序不会出现数据争用和死锁,并且可以在本地对程序行为进行推理。我们已经在Spec#编程系统的自定义版本中为根据我们的模型开发的程序实现了验证程序,并在案例研究中验证了我们的方法。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号