循环不变式开发技术研究

循环不变式开发技术研究

论文摘要

高可靠性软件是当今软件开发的热点问题.确保算法程序逻辑结构正确最理想途径是算法程序的形式化推导和证明。循环不变式在软件形式化方法中占有十分重要的地位,它是理解、证明和推导算法程序的基础和关键。使用形式化方法来证明或推导算法程序无法回避的一个问题就是给出正确的循环不变式。但是循环不变式的开发一直是算法程序设计领域中最具挑战性、最富有创造性、也是最困难的问题之一。自形式化方法出现以来,众多专家致力于循环不变式的开发,提出了许多循环不变式开发技术,如谓词抽象技术、动态探测技术等。这些技术能探测出较简单问题的循环不变式,但是却无法处理复杂问题。从本质上来说,循环不变式刻画了循环变量的变化规律和循环程序的特征,因此一个循环程序的循环不变式并非轻易就能得到,尤其是对复杂算法的来说,必须在对循环程序的算法本质有充分理解的基础上才能找到。而现有的循环不变式定义不能反映出循环不变式的本质,基于现有循环不变式定义的技术缺乏理论上的指导,在探测循环不变式的过程中具有试探性和盲目性,又因为本身技术上的限制,因而无法得出复杂问题的循环不变式。薛锦云教授及其学术团队分析了大量算法程序的本质特征及其与循环不变式关系[15]~[20],发现现有循环不变式定义的不足,提出了关于循环不变式的新定义和基于新定义之上的循环不变式开发技术,并在此基础上形成了一种实用的算法程序形式化开发方法——PAR方法及其开发环境,在复杂算法程序及软件形式化开发中发挥了重要作用。本文是PAR方法及其开发环境研究的继续,也是薛锦云主持承担的国家自然科学基金项目“基于PAR方法的算法设计形式化和自动化研究”和973前期预研项目“形式化方法制导的软件自动化研究”的重要研究内容。本文主要的工作是对现有循环不变式定义和现有开发技术进行深入研究,并与PAR方法中的循环不变式开发技术进行比较,指出了现有开发技术的不足之处;同时基于薛锦云教授提出的循环不变式新定义和新开发技术,探讨、研究并初步实现了循环不变式自动开发系统。具体研究成果如下:1.深入研究了循环不变式定义;2.对循环不变式标准开发策略和现有较新的几种循环不变式开发技术进行了分析和比较,剖析了其难以适用的原因;3.详细分析了PAR方法循环不变式新定义和新开发策略,以其作为基础提出了循环不变式开发系统的新模型,并初步实现循环不变式自动开发系统;4.使用Dijkstra最弱前置谓词法对开发出的循环不变式进行正确性证明。

论文目录

  • 摘要
  • ABSTRACT
  • 第1章 引言
  • 1.1 研究背景
  • 1.2 研究内容
  • 1.3 本文的组织
  • 第2章 现有循环不变式开发技术研究分析
  • 2.1 循环不变式现有定义
  • 2.2 循环不变式现有开发技术
  • 2.2.1 标准循环不变式开发策略
  • 2.2.2 基于标准策略的自动生成循环不变式法——启发式RCPV 法
  • 2.2.3 循环不变式动态探测技术
  • 2.2.4 谓词抽象技术
  • 2.2.5 基于规则的符号执行分析法
  • 2.2.6 基于断言的循环不变式探测方法
  • 2.3 各类循环不变式探测技术分析
  • 第3章 PAR 方法中的循环不变式新定义
  • 3.1 PAR 方法主要思想
  • 3.1.1 RADL 语言和APLA 语言
  • 3.2 循环不变式新定义和新开发策略
  • 3.2.1 循环不变式的新定义
  • 3.2.2 循环不变式新开发策略
  • 3.3 开发未知算法程序
  • 3.3.1 总体思想
  • 3.3.2 开发步骤
  • 3.3.3 开发实例
  • 3.4 开发已有算法程序循环不变式
  • 3.4.1 总体思想
  • 3.4.2 开发步骤
  • 3.4.3 开发实例
  • 3.5 评论与总结
  • 第4章 循环不变式开发系统研究与实现
  • 4.1 循环不变式开发系统设计思想和方案
  • 4.1.1 系统的目标
  • 4.1.2 系统总体设计思想
  • 4.1.3 循环不变式开发系统图
  • 4.1.4 循环不变式探测系统功能模块说明
  • 4.2 循环不变式开发系统的实现
  • 4.2.1 “源语言分析原理”模块的实现
  • 4.2.2 “量词运算符对应关系”模块的实现
  • 4.3 循环不变式正确性证明
  • 4.3.1 预备知识
  • 4.3.2 实例讲解
  • 4.4 与现有开发方法比较
  • 第5章 系统直观介绍
  • 5.1 系统界面简介
  • 5.2 若干事例
  • 第6章 总结和展望
  • 参考文献
  • 致谢
  • 相关论文文献

    • [1].高中数学中算法程序计算的步骤分析[J]. 问答与导学 2019(27)
    • [2].解构智能传播的数据神话:算法偏见的成因与风险治理路径[J]. 现代传播(中国传媒大学学报) 2019(09)
    • [3].循环算法程序的推导及其应用[J]. 电脑编程技巧与维护 2011(24)
    • [4].风险社会背景下算法的构建及司法运用研究[J]. 四川行政学院学报 2020(04)
    • [5].算法合谋与反垄断[J]. 市场周刊 2019(08)
    • [6].基于TCC的经典算法互动实验平台设计[J]. 实验室研究与探索 2018(05)
    • [7].聚焦算法与数列问题[J]. 数学教学通讯 2010(21)
    • [8].一组基于PAR的高可靠查找算法程序开发[J]. 计算机研究与发展 2010(S1)
    • [9].可问责的算法[J]. 地方立法研究 2019(04)
    • [10].算法框图题型扫描[J]. 中学生数理化(高一数学) 2019(01)
    • [11].LZD算法程序实现及其在DEM匹配中的应用研究[J]. 山西建筑 2010(24)
    • [12].循环不变式开发技术研究[J]. 计算机工程与科学 2010(09)
    • [13].MPEG-4算法在DM642上的实现与优化[J]. 计算机与数字工程 2008(11)
    • [14].新闻的算法之谜与传统媒体的智能化[J]. 新闻爱好者 2018(10)
    • [15].MATLAB软件在DSP程序开发过程中的应用[J]. 苏州市职业大学学报 2008(01)
    • [16].范式转型:算法时代把关理论的结构性考察[J]. 新闻界 2019(03)
    • [17].核电厂DCS系统逻辑算法在线维护技术研究[J]. 南华大学学报(自然科学版) 2019(05)
    • [18].算法初步提高与演练[J]. 中学生数理化(高一数学) 2019(Z1)
    • [19].CCSLink调试DSP跟踪算法程序[J]. 科技信息 2010(08)
    • [20].注意,写作机器人要来了[J]. 秘书之友 2015(10)
    • [21].算法歧视:表现、影响及其法律规制[J]. 枣庄学院学报 2020(04)
    • [22].利用Young-Laplace算法程序计算液体表面张力[J]. 科学技术与工程 2017(24)
    • [23].Box-Jenkins法参数辨识与仿真研究[J]. 科技创新导报 2008(30)
    • [24].新算法程序的开发初探[J]. 科技资讯 2009(28)
    • [25].Dijkstra算法程序的优化[J]. 海南广播电视大学学报 2008(04)
    • [26].Docker容器化下的遥感算法程序集成方法[J]. 中国图象图形学报 2019(10)
    • [27].如何戳破“过滤气泡” 算法推送新闻中的认知窄化及其规避[J]. 新闻与写作 2018(09)
    • [28].例谈打比方在算法程序教学中的应用[J]. 网络科技时代 2008(20)
    • [29].大数据时代算法歧视的法律规制与司法审查——以美国法律实践为例[J]. 比较法研究 2019(04)
    • [30].算法含义的哲学探析[J]. 洛阳师范学院学报 2018(10)

    标签:;  ;  ;  ;  

    循环不变式开发技术研究
    下载Doc文档

    猜你喜欢