【摘 要】
:
近年来,计算机软件的应用已经渗入到了国防、航天、交通和医疗等各个关键领域,因此提高软件的质量已成为一项十分紧迫的任务。软件测试是保证软件质量的一种重要手段。相比于
论文部分内容阅读
近年来,计算机软件的应用已经渗入到了国防、航天、交通和医疗等各个关键领域,因此提高软件的质量已成为一项十分紧迫的任务。软件测试是保证软件质量的一种重要手段。相比于动态测试,静态缺陷检测是在不运行被测程序的前提下发现程序中的缺陷,可以应用于软件开发周期的早期。因此,如何提高静态缺陷检测的精度,以减少人工确认真正缺陷所耗费的人力和时间,提高静态缺陷检测工具的实用性,成为了该领域的研究热点。本文以基于约束求解的静态缺陷检测求精技术为核心研究内容,旨在探索如何提高静态缺陷检测的精度。在前期DTS (Defect Testing System,缺陷检测系统)分析结果的基础上,本文提出了一种基于约束求解的误报消除方法,对其检测结果进一步求精:一旦静态缺陷检测报告了一个潜在缺陷,就在缺陷路径上提取路径约束,并将提取的所有路径约束以及潜在缺陷点的数据流值作为约束求解器的输入,通过约束求解技术来判断该潜在缺陷的可满足性,若约束求解的结果为无解,则表明该潜在缺陷是个误报。另外,静态分析对诸如循环和函数调用等与程序具体执行状态相关的程序语义的分析较为保守,因此为了获得精确的数据流值,本文提出一种动态执行结合回归分析的求精方法:通过动态执行获得精确的程序运行时信息,同时引入回归分析技术,通过汇总多次动态执行的结果,对待分析变量进行符号替换,并根据不同需求得到较为精确的变量取值区间或生成符号化函数摘要,以此提高静态缺陷检测中变量区间分析的精度,从而进一步提高上述约束求解的精度,使得约束求解的结果更有意义。本文通过对若干个开源工程进行静态缺陷检测来验证本文方法的有效性。实验结果表明,本文提出的方法能够减少误报,提高静态缺陷检测的精度。
其他文献
网格变形是将三维几何模型从一个动作序列变换到另一个动作序列的过程,是三维模型处理领域中的重要组成部分。网格变形技术是近年来计算机图形学中的研究热点之一,很多研究成
目标识别与跟踪技术涉及到计算机数字图像处理、模式识别以及人工智能等诸多领域,广泛应用于军事、工业、生活等各个方面。本文以起飞的飞机为目标进行研究。研究内容分为三
二十一世纪是数据和信息化的时代,各类数据库和信息系统的建立提高了人类分析数据并进行决策的能力。由于数据量的急速增加,如何从大规模数据中挖掘出数据所蕴含的信息成为了
星表是记载天体各种参数(如位置、运动、星等、光谱型等)的表册。它真实地反映了一定时期内,天文学家在天体测量方面所取得的成果。星表是天文学家最常用到的天文数据,因此很
公文流转系统是一个办公自动化系统中的通用构件,而且是一个非常重要的构件,一个优秀的公文流转系统可以很好的和OA协同,大幅度提高OA内的信息共享、人员协作与业务监督的效
随着生物信息学的迅速发展,人们对生物学的研究已经逐渐扩展到蛋白质组学的层面。关键蛋白质的移除会造成有关蛋白质功能模块的功能丧失,进而使细胞无法正常的进行生命活动,
可编程逻辑控制器作为现代工业控制四大支柱之一,在各种工业过程控制及各类机电一体化设备控制中得到极为广泛的应用。随着IEC61131-3标准的逐步推广和软硬件结合方式的普遍
随着车辆技术的发展和车辆的普及,车辆已经成为生活中不可或缺的部分,车用自组织网络VANET(Vehicular Ad hoc Network)作为一个新的无线通讯研究领域,已经成为智能交通系统IT
网络教学平台作为网络教学的支撑平台随着网络教学的流行得到广泛应用。近年来,强调多种学习理论或学习模式融合的混合式学习受到普遍关注。作为下一代互联网的语义网在知识共
蠕虫病毒是一种通过网络传播的恶性病毒,自世界上第一例蠕虫病毒问世以来,蠕虫病毒在全球互联网上造成的危害性越来越大。因此,针对蠕虫病毒检测技术的研究已经成为网络工作