基于模型转换的Dafny程序生成与验证研究.pdfVIP

基于模型转换的Dafny程序生成与验证研究.pdf

  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文档。上传文档
查看更多
摘 要 当今世界是一个软件定义一切的时代,尤其在安全攸关领域,需要保证计算 机程序的可靠运行。这种可靠性可以通过向程序传递所有可能的测试用例的方法 来实现,但该方法难以保证一些输入范围无限的复杂程序的正确性。形式验证的 目的是构建程序正确性的数学说明,但所需验证工作是繁琐的,而且容易出错, 使用自动验证工具使证明过程自动化是目前形式验证的一种趋势。 Dafny 是微软研究院创建的一种内置规约结构的编程语言和静态程序证明器, 其 目的是验证程序的功能正确性并可将程序验证过程完全自动化。这大大减少了 繁琐的程序验证过程,极大提高了软件的可靠性。必须认识到,现阶段 Dafny 程 序的生成没有特定的方法和工具,很多问题的Dafny 程序都是基于开发者的经验, 而且 Dafny 程序中循环不变式都是从天而降的,基于开发者对算法设计的熟练程 度。 本文结合算法程序设计方法 PAR 方法和程序证明器 Dafny 提出了一个模型驱 动的 Dafny 程序生成与验证方法,通过该方法对一些经典问题进行了算法形式化 开发与自动验证,大幅提高了所开发算法程序的可靠性。 本文的主要工作包括: 一、对 Dafny 自动验证机理进行了深入剖析并给出示例说明。 二、探索出一种模型驱动的 Dafny 程序形式化生成与自动验证方法。其步骤 如下:首先,在程序开发的前期采用规约变换技术从问题 Radl 规约出发得到问 题的 Radl 算法;然后,利用PAR 方法中循环不变式开发新策略得到循环不变式; 最后,以 Radl 算法和循环不变式为依据,根据模型等价转换规则得出问题的 Dafny 程序,并由Dafny 证明器自动验证该程序功能正确。 三、通过该方法解决了一些典型问题的算法程序开发与验证,如立方和、最 小和、查找、排序等问题,证实了该方法能够有效地提高 Dafny 程序的开发效率、 正确性和可靠性。提炼出二重嵌套循环 Dafny 程序生成模型等价变换规则,据此 生成了若干冒泡排序算法程序,并生成一种新的局部冒泡排序算法。 关键词: 模型转换;Dafny;循环不变式;生成;验证 I Abstract Todays world is an era where everything is defined by software, especially in the field of safety and security, it is necessary to ensure the reliable operation of computer programs. This reliability can be achieved by passing all possible test cases to the program, but this method is difficult to guarantee the correctness of some complex programs with an unlimited input range. The purpose of formal verification is to construct a mathematical description of the correctness of the program, but the required verification work is tedious and error-prone. The use of automatic verification tools to automate the proof process is a trend in formal verification. Dafny is a programming language and static program prover with

文档评论(0)

136****6583 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7043055023000005

1亿VIP精品文档

相关文档