基于形式描述的编译优化自动测试方法与技术研究

来源 :中国科学院软件研究所 | 被引量 : 0次 | 上传用户:sunwen_fly
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
编译优化是现代编译器不可缺少的重要功能。编译优化技术在过去几十年里取得了显著进展,对提升程序运行速度、节省存储空间、节省能耗等起到了不可替代的作用。然而,编译优化的可靠性却不尽人意。编译优化技术种类多、处理复杂而且可复用性弱,容易出错,即便是成熟的编译器,也不断有与编译优化相关的bug被发现出来。编译器的可靠性对软件产品的可靠性和安全性有直接影响,随着编译优化在现代编译器中的比重不断增加,编译优化的可靠性也日益受到人们的关注。   软件测试是保障编译优化可靠性的基本技术手段之一,然而,编译优化测试涉及测试程序编写、测试执行等过程,人工完成相当费时费力,因此有必要研究编译优化自动测试方法,以提高编译优化测试的效率。基于这一实际需求,Intel、MEI(Matsushita Electric Industrial)、DaimlerChrysler AG等业界产商近年来也相继与有关研究机构开展合作,研究编译优化自动测试方法。   目前已有的编译器自动测试方法中大多数都是以程序设计语言的语法和语义为主要依据,适用于测试语法检查、语义检查、代码生成等基本编译功能,对于编译优化的测试则缺乏针对性,测试效率较低,而已有的若干种面向编译优化的自动测试方法也存在着对编译优化刻画不够准确、自动化程度不高等缺陷。   本文提出一种基于形式描述的编译优化自动测试方法(TEMCOFS),其实现过程分为四个阶段,即:(1)建立编译优化形式描述;(2)分析编译优化描述的正确性;(3)基于编译优化形式描述自动生成测试程序;(4)自动执行测试。在TEMCOFS方法框架下,本文分别研究了编译优化形式化描述方法、编译优化描述正确性分析方法和基于形式描述的两种自动测试方法,实现了三类典型优化—表达式优化、数据流优化、循环优化的自动测试,主要工作包括:   (1)在编译优化形式描述方面,除了应用前人研究成果—TRANS语言描述了表达式优化和数据流优化之外,还对TRANS语言进行了扩展,建立了循环优化的形式描述机制;   (2)在编译优化正确性分析方面,首先证明了揭示程序数据依赖关系对程序变换正确性影响的依赖基础定理,为循环优化正确性分析提供了基础,然后探讨了编译优化正确性分析的一般方法;   (3)在测试自动执行方面,提出了编译优化自动变形测试执行方法,该方法将变形测试思想引入编译优化测试中,利用测试程序等价性质实现测试结果的自动判定,能够避免传统方法中测试结果判定所存在的问题;   (4)在测试程序自动生成方面,分别对应两种测试自动执行方法—比照法和变形法提出了基于编译优化形式描述的测试程序自动生成方法,能够根据表达式优化、数据流优化、循环优化的形式描述自动生成测试程序集。   在GCC编译器上的实验表明,基于本文方法自动生成的测试程序集可使GCC的编译优化模块较快达到较高的测试覆盖率。与其他编译器自动测试方法相比,本文方法对编译优化测试的针对性较好,自动化程度也较高。总而言之,本文方法对于提高编译优化测试效率、保障优化编译器的质量具有较好的实用和参考价值。
其他文献
光电经纬仪是一种重要的光电跟踪测量设备,它的测量方式是被动跟踪测量。光电经纬仪对目标进行跟踪测量的过程中存在着目标脱靶量滞后、目标可能丢失以及各种噪声等问题,会影响
为解决在无线传感器网络中ZigBee协议栈的应用,如何移植整个ZigBee协议栈到目标系统等问题,对ZigBee协议栈移植过程进行了详细的研究。   在研究过程中,分析了现阶段无线传感
网格系统软件的迅速发展使得越来越多的网格应用随之出现,对网格资源的需求日趋多样化和复杂化。同时,由于网格的自治性等特点,同一种资源在不同的管理域中会存在不同的特征描述
稠油由于其粘度高、密度大、流动性差,因此产出比很低,如何能够提高稠油的产出比一直是各大油田非常重视的问题。本课题来源于最早实行稠油开采的辽河油田特种油公司,主要研
流量测量分析通过捕获链路流经的数据包,获得不同协议层次的流量与性能指标,为网络体系结构与协议研究、网络系统设计规划、网络管理与运维提供重要依据。随着互联网体系结构演
随着EAST(Experimental Advanced Superconducting Tokamak)托卡马克实验装置的不断升级和等离子体放电参数的不断提高(LHCD和NBI加热功率分别达到了3.5MW和2.6MW),获得的等离子体
近年来,随着分布式数据库系统在各个领域的广泛应用,越来越多的高校和企业构建了自己的数据中心,以集成单位内部各部门的数据,解决制约单位信息化建设的“信息孤岛”问题。而如何
随着因特网的快速增长,许多的新型应用不断涌现,并且很多应用对于网络传输服务质量的需求越来越强烈。然而,起源思想简单、处理方式单一的IP路由体系已经很难适应越来越苛刻的业
实践十号卫星上搭载了众多载荷,用于进行空间科学实验。为保证载荷的可靠性,在发射之前,需要进行大量的地面匹配实验。本文设计实现了一套控制系统仿真软件,用于载荷地面实验
IPv6协议簇中路由协议的正确性保证是下一代互联网研究的重要课题。一致性测试是一种有效地检验其实现正确性的方法。由于IPv6路由协议具有行为与消息相互依赖的特点,集成数据