面向浮点程序误差检测的用例生成系统

来源 :南京大学 | 被引量 : 0次 | 上传用户:cyzmie
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
目前,浮点计算程序被广泛应用于航空航天、国防军事等对可靠性要求极高的关键领域,因此保证浮点程序计算结果的准确性至关重要。然而,由于计算机进行浮点运算时使用的数值与实际值之间存在舍入误差,舍入误差的累积会影响浮点程序的准确性,因此学术界提出了自动化的误差检测技术来解决这一问题。误差检测需要能够触发误差累积的数值用例输入,而这些数值用例输入通常分散在一些范围较小的输入区间内。现有的数值用例生成系统存在两点不足:一是系统主要针对单一浮点运算表达式生成用例,无法面向浮点程序全局。二是能触发浮点程序误差累积的有效用例通常分散在一些小区间内,而现有用例生成技术需要生成大量用例才能命中这些小区间,从而造成有效用例的生成效率较低。基于上述两点不足,本文设计并实现了面向浮点程序误差检测的用例生成系统,主要工作如下:1.针对现有系统仅面向单一表达式生成用例的问题,本文设计了针对浮点程序全局的用例生成方法。此方法基于传统LLVM编译器生成浮点程序的中间代码,然后利用新的转换规则将中间代码转为二进制码,并通过获取二进制码与数值用例的映射关系,最终生成可用于浮点程序全局误差检测的具体用例。2.针对现有系统有效用例生成效率低的问题,本文设计了一种基于神经网络模型的用例生成方法。此方法中,神经网络模型以浮点程序的二进制码与触发程序误差累积的数值用例为训练数据,通过学习训练数据中的用例生成规则,使产生的大部分数值用例都能落入触发程序误差累积的区间内,提高系统生成有效用例的效率。本文系统分为五个模块,分别是程序预处理模块、中间代码转换模块、训练数据集生成模块、神经网络模型训练模块和数值用例生成模块。程序预处理模块主要负责浮点程序中间代码的生成。中间代码转换模块主要负责将中间代码转换为可用二进制码。训练数据集生成模块主要负责生成包含二进制码与数值用例的训练数据集。神经网络模型训练模块主要通过学习训练数据中的用例生成规则,获取可用的神经网络模型。数值用例生成模块主要负责生成用于浮点程序误差检测的有效数值用例。本系统针对多个C++浮点程序,共生成了16800个数值用例。通过实验对这些用例进行了评估,实验结果表明本系统能够针对浮点程序全局进行用例生成,生成用例中能触发浮点程序误差累积的有效用例约占总数的74.42%,且生成用例的平均耗时约为2.58s。
其他文献
随着物联网的发展,智能家居的解决方案被广泛应用,用户对智能化的要求程度也越来越高。智能家居的交互方式也从实体按钮控制向终端触屏控制甚至语音控制不断发展。同时,因空气污染、疫情等原因,用户对新风机需求上升。因此,将智能新风和语音交互相结合的方案受到了更多的重视。面向智能新风的语音交互系统让用户可以通过语音的形式与家居设备进行交互。用户可以通过小程序远程语音控制新风设备,比如开关设备、调节设备风量、设
NAND型闪存是一种主要的非易失性存储器,具有存储密度大,功耗低,成本低,抗震性能强等特点,目前已广泛应用于消费级移动电子设备和企业级服务器中。随着半导体工艺节点的进步,NAND型闪存的特征尺寸不断减小,多级存储技术和3D堆叠技术成为NAND型闪存中的主流,3D TLC NAND型闪存占据了消费级闪存的主要市场。然而3D TLC NAND型闪存中存在着各类噪声干扰,威胁着数据的可靠性。其中,编程干
LDPC(Low-Density Parity-Check)码作为信道编码的常用方法,在诸多通信系统中得到广泛应用,但是在其迭代译码中存在着错误平层的问题,这对某些LDPC码的特殊应用场景造成了较大的困扰。研究证明陷阱集与错误平层有着非常紧密的联系,而后处理方法能针对陷阱集进行处理,以此来降低错误平层。本文对常见的陷阱集进行了分析,并提出了一种基于迭代标记的后处理方法,使用该方法得到的标记后的码字
20世纪以来红外成像技术得到广泛的应用和发展,在众多领域如军事领域中已经成功的利用它实现了在黑暗中观察。相应的红外图像中的目标检测技术也得到了相应的发展,从传统的边缘特征提取、阈值分割等方法,到现如今基于深度学习和神经网络的方法得到广泛使用。然而红外成像技术依然面临成像质量不高、可观测特征有限等问题,加上在如军事应用中,目标在图像中往往呈现小而模糊的特征,因此给直接进行目标检测带来一定的困难。自从
在21世纪的如今,人工智能已经成为了研究热点并且应用于人类社会的诸多领域。深度学习是人工智能的重要领域,神经网络则是深度学习的基本框架,其中的代表性框架之一就是卷积神经网络。卷积神经网络擅长处理视觉信息,在图像的识别、分类等任务上有重要的应用。但卷积神经网络运算量庞大,要将其应用于对实时性和功耗要求都非常高的场合,需要在硬件设计上进行针对性的优化。本文提出了一种面向卷积神经网络的专用加速器。该加速
随着城市化进程加快,以轨道交通为主,公交车、共享出行方式、停车换乘等为辅的城市交通网络,成为缓解交通拥堵问题的重要形式。而接驳问题是制约地铁出行效率的重难点,影响乘客的使用意愿和体验。探究出行者选择接驳方式的决策过程,有助于政府和轨道交通运营者理解影响乘客接驳方式选择的因素及其行为特征,为运营管理提供理论支持。首先,本文通过RP调研,调查出行者在实际生活中选择接驳方式的过程,发现在面临多种接驳方式
学位
学位
学位
目前国内主流手机出厂时都自带音乐播放器,并且大部分用户都首选这种音乐播放器。VIVO的音乐播放器存在不足,如:软件过于臃肿,不必要的功能偏多;软件部分界面友好偏弱,且操作繁琐;软件加载过慢,影响用户体验。为此VIVO公司决定开发、改进现有音乐播放器,更好地服务用户。本文说明了项目背景,简述了该音乐播放器的开发目的,介绍了国内几款主流音乐播放器的发展状况。综述了实现项目所采用的Recycler Vi