首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 629 毫秒
1.
一种面向审查的过程内数据流异常自动检测方法   总被引:1,自引:0,他引:1  
审查是预防代码缺陷的重要手段,但审查耗时,浪费人力,需要自动化工具对其进行辅助.数据流异常是审查中着重检查的缺陷之一,本文提出了一种基于有穷自动机的过程内数据流异常的检测方法.此方法首先对被测过程进行静态分析,得到被测过程的逻辑路径;而后基于有穷自动机和已获得的逻辑路径,通过每个数据项的状态迁移来判断数据流是否存在异常.本文介绍的方法面向审查,并不局限于某种特定的语言,并且一定程度上提高了数据流异常检测和审查的效率.  相似文献   

2.
静态分析方法可以自动地提取软件的行为信息,从而检测出软件中的安全漏洞。和其他程序分析方法相比,该方法具有自动化程度高和检测速度快的优点。本文介绍了Java语言的安全漏洞的故障模式,说明了类型推断、数据流分析和约束分析等主要静态分析方法及两种特别的分析方法,最后介绍了几种常用的静态代码安全检测工具。  相似文献   

3.
不当内存操作一直是引发软件漏洞的主要原因之一。堆分配大小可控(CMA)是指当动态内存分配的关键参数可以被外界输入控制时,恶意用户可以通过精心构造输入数据导致非预期的内存分配。该文讨论了CMA可能引发的相关安全问题和CMA的检测方法。该CMA检测方法主要通过结合静态路径分析和路径导向符号执行技术的优势,系统地检测目标代码中的CMA问题。在经典的符号执行引擎KLEE的基础上,实现了CMA检测原型系统SCAD;通过对Linux系统常用的工具程序Coreutils进行测试,SCAD发现了10个CMA相关的问题,其中3个属于未公开漏洞。实验结果表明:SCAD的导向路径搜索算法与KLEE提供的8个路径搜索算法相比具有明显优势;针对内存分配相关的代码,SCAD的导向符号执行相比传统的符号执行引擎具有更高的代码覆盖率。  相似文献   

4.
随着计算机软件技术的快速发展,由软件代码缺陷引起的安全问题也日趋严重。通过对静态分析技术以及静态检测工具的深入研究,针对当前静态检测工具误报率、漏报率较高的问题,提出一个多策略的软件代码缺陷检测方法。该方法平台一方面综合运用多种静态检测工具进行检测,对比单个检测工具降低误报率,扩大检测覆盖率;另一方面,对确定性不高的静态检测结果进一步进行动态检测,不但降低静态检测的误报率,而且还能发现静态检测技术检测不到的缺陷,降低漏报率。实验结果证明,多策略检测方法是一个有效的软件漏洞检测方法。  相似文献   

5.
静态分析方法可以自动地提取软件的行为信息,从而检测出软件中的安全漏洞。和其他程序分析方法相比,该方法具有自动化程度高和检测速度快的优点。本文介绍了Java语言的安全漏洞的故障模式,说明了类型推断、数据流分析和约束分析等主要静态分析方法及两种特别的分析方法,最后介绍了几种常用的静态代码安全检测工具。  相似文献   

6.
代码审查是一种高效的程序缺陷检测方法,因为它能够在软件开发的过程中找出程序的错误,这很大程度上降低了改正错误的成本.但是传统的代码审查是一种劳动力密集型的方法,为了提高代码审查的效率,一系列的自动化代码缺陷检测技术和工具已经被提出并得到了广泛的应用.本文介绍了支持代码审查的自动化代码缺陷检测技术的相关内容.结合Java语言的特点对自动代码缺陷检测体系结构和工作的原理做了论述,并引入了缺陷模式树来提高检测的速度;最后通过具体的实验来分析了自动化代码缺陷检测的有效性和高效性.  相似文献   

7.
利用软件补丁信息,结合静态分析、符号执行和约束求解技术,提出了一种测试输入自动生成方法.该方法可以自动产生绕过补丁修补位置的测试输入,给出新的触发软件缺陷的有效可执行路径,从而找到新的软件缺陷.运用这种方法,在GNU Mailutils中,成功地发现了一个软件缺陷.该方法可以运用于实际的软件代码,保证了软件补丁修补的完备性.  相似文献   

8.
受限于不完备的函数调用图分析和路径可达性分析,当前静态整数溢出检测工具存在较为严重的误报情况.为解决这一问题,以源代码中外部输入可控的整数溢出缺陷的自动挖掘为目标,给出一种综合调用图分析、静态污点分析和静态符号执行的检测方法.提出一种域敏感的流敏感指针分析方法构建目标程序调用图的"高估计",应用静态污点-sink传播分析确定潜在的外部输入可控的整数溢出缺陷程序点,最后应用静态符号执行技术通过判定缺陷约束的可满足性对误报情况进行约减.实验验证了方法在实际整数溢出缺陷检测和误报情况约减方面的应用有效性.  相似文献   

9.
依据整数溢出漏洞特征,该文在对220个实际整数溢出漏洞分析的基础上提出了3种检测策略来缓解静态分析技术的高误报问题。结合静态分析可直接获取整数溢出类型信息及动态分析获取整数溢出漏洞准确的优点,提出了动静结合的整数溢出漏洞分析方法。先利用程序静态分析技术分析整数溢出并获取整数溢出类型等相关信息,动态分析根据静态分析得到的信息,使用自动插桩技术对代码进行插桩,结合漏洞特征设计的重构表达式运行具体符号执行以提高漏洞分析的准确率。动静结合的整数溢出漏洞分析方法减少误报效果较好:对Lighttpd-1.4.29进行检测时减少误报374条,占总量的67.3%;对Linux内核3.4版本进行检测时减少误报159 761条,占总量的98.2%;并最终成功分析出CVE-2011-4362、CVE-2013-1763整数溢出漏洞。  相似文献   

10.
以快速生成能够覆盖可能存在缺陷程序点的测试用例为目标,结合基于生成的Fuzzing技术、静态程序控制流分析、静态污点分析等手段,提出一种导向式动态符号计算方法.通过Fuzzing生成能够到达包含缺陷程序点的函数的测试用例,作为种子输入驱动符号执行快速到达缺陷函数;在缺陷函数内利用静态控制流分析、静态污点分析计算出控制流污点可达程序切片,基于该切片进行朝向缺陷点的多路径动态符号执行.实验验证了方法能够有效减轻符号执行应用中广泛存在的路径爆炸问题,并且能生成触发目标缺陷的测试用例.  相似文献   

11.
循环语句大量应用于程序开发中,但是在静态分析领域,对循环语句的处理还很不完善,存在着不终止和迭代不收敛等一系列问题。传统的循环处理策略所涉及的程序语义信息有限,无法应用于静态分析缺陷检测中。该文提出一种基于符号运算和抽象解释理论中Widening/Narrowing算子的循环处理方法,并将其应用于区间运算之中,以提高检测精度。所述方法已在缺陷检测系统(DTSGCC)中实现,对大量Linux中GCC开源工程的测试结果表明:该方法可以提高区间运算中循环处理的精度,减少潜在的误报。  相似文献   

12.
缺陷定位是软件调试过程中的重要阶段,通过挖掘程序执行过程中的动态信息与执行结果之间的关系,可以有效定位缺陷位置。由此提出了一种基于随机森林算法的函数缺陷定位方法(Function Defect Location based on Random Forest,简称FDLRF)。其具体思想是:首先动态执行测试用例获取函数的动态调用图并生成DOT文件,解析该文件获取各个函数的轨迹信息,建立特征矩阵,同时利用合成少数类过采样技术(Synthetic Minority Over-sampling Technique,简称SMOTE)得到均衡样本,运用随机森林算法对数据进行训练,从而获得每个属性的贡献度信息,即函数缺陷概率。实验结果表明,该方法较传统算法在定位准确率有了一定程度的提升。  相似文献   

13.
bf算法是一种针对静态反汇编的混淆算法,但由于bf函数跳转地址的固定性,很容易被逆向还原. 据此提出一种基于bf算法的改进型代码混淆算法,利用bf算法中的垃圾指令重定位bf函数的跳转地址并隐藏二次跳转地址,新算法改进了bf算法中的缺陷,同时提升了bf算法针对静态反汇编的混淆复杂度. 实验中对测试样本分别进行基于bf算法的混淆和新算法的混淆并使用静态反汇编工具IDA Pro进行测试,实验数据表明新算法在性能和安全性方面有显著的提升.   相似文献   

14.
传统涡流检测技术采用一个圆柱形的激励线圈来产生激励磁场,通过用检测线圈来收集扰动磁场,然而由于激励线圈引起的磁场要比缺陷引起的扰动磁场强很多,这种结构的传感器对缺陷的检测灵敏度低,需采用差分的方法来获取缺陷信息。提出了一种新型涡流传感器,其通过采用矩形激励线圈来改变激励磁场的空间分布,使得无需采用差分方法就可以获得缺陷信息。在对新型传感器进行原理分析的基础上,仿真分析了其与传统传感器探头缺陷检测灵敏度之间的差异。并对传感器尺寸和激励频率进行了优化设计,最后验证了该新型传感器对缺陷长度的定量检测能力。仿真结果表明,该新型传感器具有较高的检测灵敏度和缺陷定量精度,为以后单激励多检测阵列涡流传感器的研究奠定了基础。  相似文献   

15.
为了解决并行处理中同步阻塞会浪费系统资源和影响程序性能的问题,提出了一种基于CompletableFuture异步机制的自动重构方法。首先,使用WALA静态程序分析工具进行访问者模式分析、逃逸分析、别名分析以及数据流分析等静态程序分析技术,确定共享变量数据的操作方式;然后,基于CompletableFuture机制设置4种异步重构模式;最后,根据不同模式实现异步机制的自动重构。基于此方法,在Eclipse平台下开发了自动重构工具AsynRef,并对HSQLDB,Jenkins, JGroups和SPECjbb2005等4个大型实际应用程序进行自动重构,从重构个数、改变的代码行数、准确性和重构后程序性能等方面对AsynRef进行评估,对4个程序所包含的919个同步方法共完成387个异步机制转换。结果显示,使用AsynRef进行异步机制重构后,程序执行性能有8%到39%的不同程度的提升。AsynRef可以有效完成代码异步化自动重构,与传统手动重构相比,有效提升了异步化的重构效率。  相似文献   

16.
为了提高数据竞争检测过程的准确性,提出了一种基于上下文敏感分析的数据竞争检测方法。使用控制流分析构建上下文敏感的调用图,采用逃逸分析查找出可能发生数据竞争的线程逃逸对象,进行上下文敏感的别名分析以减少误报和漏报,通过发生序关系判断消除由于忽略线程交互而导致的误报。依据该方法,在WALA软件分析框架实现了一个数据竞争检测工具ConRacer,并将该工具与现有的检测工具SRD和RVPredict进行了比较。结果表明,与SRD和RVPredict相比,ConRacer的检测准确度最高,不仅可以有效地检测数据竞争,而且可以降低检测过程中的误报和漏报。通过结合上下文敏感分析技术与传统的静态检测技术,ConRacer提高了检测过程的准确性,对发现并发错误和优化软件性能有一定的参考价值。  相似文献   

17.
针对多目标识别跟踪算法中存在的低效率、高能耗,易产生误检、漏检等问题,以跟踪精确率、能量损耗为评价指标展开研究.对目前定位与跟踪的相关算法进行分析,提出一种基于空间划分的目标图像识别与跟踪算法.利用空间分簇机制,实时收集目标的位置信息,同时,建立目标丢失与恢复机制,显著提高了目标的识别与跟踪精度,减少能量损耗.结果表明:与常规算法相比,所提算法跟踪成功率提高了10%左右,并能有效减少能量消耗,具有一定的实用价值.  相似文献   

18.
为了减少输电线路杆塔缺陷检测过程中受噪声信号和装置性能等因素的干扰,提高输电线路杆塔缺陷检测的正确率和检测效率。提出一种基于生成式对抗网络(Generative Adversarial Networks, GAN)和改进区域建议网络(Region Proposal Network,RPN)的输电线路杆塔缺陷检测方法。采用GAN采集输电线路杆塔的显著性图像,并利用半软阈值函数模型剔除图像中的噪声,避免噪声对缺陷检测过程产生影响。通过随机森林决策树提取输电线路杆塔图像的轮廓特征,基于多尺度算法对RPN进行改进,将特征输入到改进RPN模型中,通过缺陷的定位、分割完成输电线路杆塔的缺陷检测。试验结果表明,所提方法的输电线路杆塔缺陷检测正确率较高,具有较好的缺陷检测效果和检测效率,从而有利于提高输电线路杆塔缺陷检测的质量,减少电力事故的出现。  相似文献   

19.
为改善并行应用程序运行效率,对性能数据的采集和分析两个方面进行了研究,分别提出多线程同时采集多种类型的性能数据,以及性能分析应该面向Web的两种思想,并提出了一种对负载均衡程度进行量化的算法,实现了面向Web的性能评价工具。它可以在应用程序运行的同时收集系统负载信息和记录应用程序的行为。用户可以藉此在Internet上任何一台计算机上通过浏览器对性能数据进行多视图、多角度的观察分析,找出性能瓶颈,最终提高应用程序的性能。  相似文献   

20.
如何对回归测试进行优化是软件开发与维护周期中的一个关键问题,传统的单一主题的测试用例优化技术存在局限性。因此,提出一种将测试用例选择和优先级排序相结合的初次选择-排序-再次选择的混合优化方法。首先,利用基于函数调用路径(function call path, FCP)对代码进行变更影响分析的结果,选择出部分测试用例;然后,从不同角度出发设计多个目标对这些测试用例进行综合排序,并根据执行信息动态调整;最后,从调整过优先级的测试用例中再次选择,形成最终的测试用例集。实验结果证明:所提出的优化方法能在尽量保证测试用例集的缺陷检测能力的情况下,一定程度上降低测试用例集的规模,提高回归测试的效率。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号