面向嵌套事务内存的多线程程序验证框架研究.docVIP

面向嵌套事务内存的多线程程序验证框架研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向嵌套事务内存的多线程程序验证框架研究   摘要:随着多线程技术的发展,并行编程逐渐成为软件开发的主流,事务内存的出现有效的解决了并行编程中锁的使用不当带来的一系列问题,而如何保证事务内存程序的正确性也成为值得关注的问题。文章介绍了一种形式验证框架,用于验证使用事务内存的并行程序的正确性。框架基于Hoare风格的程序验证方式并结合了分离逻辑的思想,包括抽象机、程序规范、语法规则及可靠性定理,支持嵌套事务程序的正确性验证,并给出一个简单的程序实例说明其在该框架中的证明过程。   关键词:事务内存;程序验证;携带证明的汇编程序   中图分类号:TP301文献标识码:A文章编号:1009-3044(2011)25-6197-05   Research on Verification Framework of Multi-threaded Program using Nested Transactional Memory   LI Yi   (Department of Computer Science and Technology, Tongji University, Shanghai 200092, China)   Abstract: With the development of multiprocessor programming technology, parallel programming becomes more and more popular. Using transactional memory is a method avoiding problems which may easily happened when using locks and make programming much easier. How to verify transactional memory program has become a matter of concern.This paper introduced a verification framework, which can verify transactional memory programs. This framework is designed based on program verification method of Hoare style which includes abstract machine, program specifications, inference rules and soundness. It can support for the verification of programs using nested transactional memory. A sample was given to show how to verify program using this framework.   Key words: transactional memory; program verification; proof-carrying-code   在单核处理器的时代,待解决问题被分解成一系列的指令顺序执行,即使后来出现了多线程技术,单核内的多线程也只是实现程序的并发性,即多个线程交替执行,在同一时刻只能有一个线程执行。并行计算是指由运行在多个部件上的小任务合作来求解一个规模很大的计算问题的一种方法,将线程相对独立地分配到不同的节点上,由各自独立的操作系统调度,享有独立的CPU和内存资源(内存可以共享)。并行程序能充分利用多核处理器的优点??提高计算性能。随着信息时代的发展,人们对可信软件的需求越来越多。尤其是一些涉及到诸如飞机、轨道交通、医疗等领域的应用软件,一旦出现错误就可能会导致巨大的财产损失,甚至出现人员伤亡,所以保证软件的安全性变得至关重要。提高软件安全性的途径是在程序运行前或运行中发现其中的错误而不使程序产生系统不可预测的行为。   主流的程序正确性验证方法可分为三种:模拟验证、模型验证和形式验证[1-2]。模拟是通过对设计施加激励信号,进行计算后观察输出结果是否与预期的结果一致。模型验证只能证明程序有错而不能证明程序无错,所以该方法一般适用于验证初期发现明显的设计错误,对于一个复杂的隐蔽的错误并不适用。形式验证是从数学的角度上来证明系统功能的正确性,首先要采用某种逻辑和语言构建系统的数学模型,再运用严格的数学推理来证明程序设计的正确性。   程序正确性证明多用于过程性语言,Hoare逻辑的应用较为广泛。Hoare逻辑是英国计算机科学家C. A. R. Hoare开发的逻辑系统[3],通过验证每条

文档评论(0)

小马过河 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档