面向浮点程序的自动修复技术研究

来源 :国防科技大学 | 被引量 : 0次 | 上传用户:kylinbird1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在现代计算机系统中,浮点数是实数使用最为广泛的近似之一,集成大量浮点运算的浮点程序作为基本运算模块为上层软件系统提供计算支撑。然而,浮点运算作为实数运算的近似,本质是不精确的,同时浮点运算也是非自包含的,导致浮点程序出现精度缺陷和浮点异常。由于浮点程序对应输入空间巨大,而触发精度缺陷和浮点异常的输入分布并无特定规律,导致精度缺陷和浮点异常难以检测。人工修复浮点程序中的精度缺陷和浮点异常也非常困难,需要对浮点运算的熟练掌握以及数值分析领域的专家知识,同时浮点程序的复杂结构也使得现有研究技术往往局限于对浮点表达式分析优化,难以对整个浮点程序进行优化,另外,存在于浮点程序对应数学函数的病态问题也限制了现有技术的修复能力。因此,本文针对浮点程序的精度缺陷和浮点异常问题,从精度缺陷修复的基础理论、精度缺陷自动修复技术和浮点异常自动修复技术等方面开展研究工作。本文的主要贡献总结如下:(1)针对浮点程序的精度缺陷修复问题,建立了面向浮点程序精度缺陷修复问题的归约理论——ATR归约理论,其核心思想是浮点程序本质上是数学函数在浮点空间上的数值近似。基于该核心思想,本文提出了构建数值近似来修复精度缺陷的归约算法,并从理论上保证了归约算法能够生成满足任意给定精度需求的程序补丁。(2)针对单输入浮点程序的精度缺陷,提出了基于分段近似的精度缺陷自动修复方法Auto RNP,在国际上首次实现了浮点程序精度缺陷的自动修复,基于ATR归约理论,Auto RNP方法在理论上能够100%修复单输入浮点程序的精度缺陷。该方法面向数学函数病态问题的挑战,以数学条件数近似值为指导搜索并定位问题空间,通过分段线性近似实现了任意精度需求的缺陷自动修复。针对GNU科学计算库(GNU Scientific Library)GSL,Auto RNP能够自动修复所有检测出精度缺陷的20个单输入浮点程序。(3)针对多输入浮点程序的精度缺陷,提出了基于泰勒近似的精度缺陷修复方法NPTaylor,首次实现了对多输入浮点程序精度缺陷的自动修复。该方法针对高维的多输入浮点程序精度缺陷问题,以ATR归约理论为基础,通过泰勒近似实现了给定精度需求下的多输入浮点程序精度缺陷的自动修复,并通过无误差变换和horner算法实现了对程序补丁的精度优化和性能优化。针对GNU科学计算库GSL,NPTaylor能够自动修复检测出精度缺陷的27个多输入浮点程序中的20个。(4)针对浮点程序的浮点异常,提出了面向浮点程序的浮点异常自动修复方法ARFPE,首次实现了对浮点程序中浮点异常的自动修复。该方法基于ATR归约理论的核心思想,提出了基于输入域划分的动静态结合的浮点异常定位方法,利用静态技术可靠性和动态检测技术精确性的优点,实现了对触发浮点异常的输入区间的快速准确定位。在定位的基础上,该方法利用浮点程序对应数学函数输出对触发浮点异常的输入子域进行分类,实现了对浮点异常的影响分析,并结合数值近似方法和浮点异常分支处理方法实现了对浮点异常的自动修复。针对GNU科学计算库GSL中的107个单输入浮点程序,ARFPE成功检测到30个包含大量浮点异常的浮点程序,并成功对其中14个浮点程序中的浮点异常进行了修复。
其他文献
在信息经济时代,信息管理需依赖于计算机技术、网络与通信技术等最新成果,将各类分布式信息资源互联互通,以此实现系统的整体优化和规模优势。数据中心网络是目前最重要的网络技术之一,它将大量计算和存储服务器连接起来,以更经济更便捷的方式达到高速计算和海量存储等需求。然而,数据中心网络内部网络拓扑的改变,交换机的升级,虚拟机的迁移,交换机和链路失效等都会引起数据中心网络更新,即流量传输路径的改变,这给数据中
IC产业全球化已经成为促进信息革命深入发展的中流砥柱。2000年,中国提出加速融入全球IC生态体系,形成各地区多级并举发展格局。然而,关系国脉民命的全球化背后安全隐患暗流涌动。2016年,A2问世标志着微观层面的黑客逻辑已经极为隐蔽,可令传统数字安全工具束手无策。现实困境倒逼技术革新,催生版图分析和旁路分析等重要成果。版图分析已可检测IC中布线级电路信息,但是该技术面临的经济和时间代价使其难以推广
经典的陆用定位导航技术,如惯性导航以及惯性与里程信息、地标信息、零速停车信息、卫星信息的组合导航技术等,在满足长时间大范围工作情况下机动、快速、自主导航定位的作战使用需求时,都有着各自的技术缺陷。为了突破陆用导航领域传统技术方案,本文对高精度惯性定位定向地图信息匹配导航技术进行研究,提出了采用地图匹配辅助惯性定位定向方法,提高长航时大半径情况下的自主定位精度,对提升快速自主精确能力并降低保障要求与
大数据时代产生了海量数据,大数据应用对内存系统提出了三方面的挑战,包括计算密集性、信息安全性以及海量数据存储。传统的内存由于功耗高、可扩展性差等缺陷,无法满足大数据应用的需求。新兴的非易失内存介质以其低功耗、存储密度高、扩展性好等优良特性,为解决这些问题带来了希望。然而,如何使用非易失内存技术,克服非易失内存自身的不足,构建高性能安全可靠的非易失内存系统,仍然需要深入的研究。本文围绕大数据应用的三
统一内存是GPU发展过程中一个重要的进展。它指的是在“CPU+GPU”异构系统中,CPU内存与GPU内存共享同一个虚拟地址空间,CPU与GPU可以使用同一个指针访问该地址空间。当GPU(CPU)所访问的数据不在本地内存时,系统会自动地将数据从CPU(GPU)内存迁移至本地内存,不需要人为干预。统一内存带来了三方面的益处:极大地简化了编程,使程序员从复杂的内存管理中解放出来;GPU执行与数据传输可以
格是欧氏空间中的离散加法子群。格中的困难问题及其求解算法,在公钥密码学中发挥着日益重要的作用。从分析的角度来说,格基约化算法的提出,使得基于大数分解、离散对数等经典困难问题的公钥密码方案的分析工作,可以在问题转换之后通过求解格中短向量的方法来完成。从设计的角度来说,小整数解(Small Integer Solution,SIS)问题和带错学习(Learning With Errors,LWE)问题
全息雷达是一种应用数字阵列技术的新体制雷达,采用低增益宽波束发射,同时多波束接收,可实现时域、空域的连续覆盖。由于无需进行波束扫描,全息雷达可获取较长的积累时间和较高的多普勒分辨率,适用于强杂波、低RCS、多目标等复杂探测情形,具有较好的应用前景。本文就全息雷达长时间积累目标检测算法及工程化实现技术展开研究,主要内容如下:第二章主要阐述了全息雷达基本信号处理流程及相关理论。对全息雷达的概念及工作原
量子计算是利用量子力学特性完成计算任务的新型计算技术,其对某些重要问题的求解性能远优于经典计算。量子优势又称为量子霸权1,代表量子计算的一种计算能力水平:在某些问题的求解上,可控量子计算设备能够实现超越所有经典计算机的性能。实现量子优势,意味着量子计算的计算能力从理论走到实证,是量子计算发展历程中的一个重要里程碑。量子优势的实现标准评估,即评估经典计算机在特定量子优势计算问题上的极限性能,是当前量
在现代信息化战争中,雷达作为主要的电子信息装备已成为决定战争成败的关键因素。自20世纪50年代以来,学者们逐渐意识到雷达目标的极化散射特性蕴含了丰富的目标姿态、尺寸、形状、材料等物理特征信息,充分利用该信息可有力提升雷达目标检测、抗杂波/干扰、目标成像和分类识别的能力。雷达目标的极化散射特性是目标的固有属性,该特性可通过极化散射矩阵(Polarization Scattering Matrix,P
对于航空等生命安全用户而言,导航系统的完好性是必须要考虑的一项指标。星基增强系统作为传统GNSS系统的“补丁”,能够对基本导航系统提供精度及完好性增强。电离层特性建模及完好性参数估计问题一直是星基增强系统(Satellite Based Augmentation System,SBAS)领域研究的重点。现有的SBAS电离层模型及增强参数估计都是基于美国本土区域数据展开的分析,其结果直接应用于北斗星