首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 15 毫秒
1.
为了提高A*算法在地图寻径中的执行效率,首先深入分析了A*算法在游戏地图中搜索最优路径时影响速度的原因,然后从数据结构方面入手通过引入最小化堆的方法遍历开启列表,引入链表对节点数据结构进行改进等手段给出了A*算法的优化方案并对该方案进行了理论分析,最后通过500个大小不同的游戏地图对改进后的算法进行了测试和评估,实验结果表明改进后的A*算法有效地提高了路径搜索速度,切实可行。  相似文献   

2.
测试用例自动生成是软件测试自动化中最为关键的组成部分之一,符号执行作为一种程序分析方法,以其可提供高覆盖率测试用例的优势被广泛应用其中,但路径爆炸和约束求解问题很大程度制约了符号执行技术在现实程序分析中的应用。将研究粒度由语句提升至函数,利用抽象语法树和字节码序列提取到的函数关键信息和控制信息得到函数调用关系模型,设计算法生成函数调用路径(函数调用路径表示程序从开始到结束之间函数的调用或执行序列)。该方法不仅减少了测试路径数目缓解了路径爆炸问题,还有效解决了控制条件中存在函数导致符号表达式难求解的问题。实验结果表明该方法可优化测试路径集,在不降低覆盖率的前提下减少测试用例数量。  相似文献   

3.
动态符号执行是近年来新兴的一种软件漏洞检测方法,它可以为目标程序的不同执行路径自动生成测试用例,从而获得较高的测试代码覆盖率。然而,程序的执行路径很多,且大部分路径都是漏洞无关的,通常那些包含危险函数调用的路径更有可能通向漏洞。提出一种基于静态分析的有导动态符号执行方法,并实现了一个工具原型SAGDSE。该方法通过静态分析识别目标程序中调用危险函数的指令地址,在动态符号执行过程中遇到这些指令地址时收集危险路径约束,再通过约束求解生成走危险路径的测试用例,这些测试用例将更可能触发程序漏洞。实验结果表明了该方法的有效性。  相似文献   

4.
本文讨论了在VFP6.0环境下,使用Windows API函数,在Windows系统注册表中,根据文件的关联链表搜索外部应用程序的启动路径,从而实现在开发的软件中自动启动外部应用程序的原理和方法。并给出了用VFP6.0语言实现的源代码。  相似文献   

5.
俞濛  黄俊飞 《软件》2014,(11):9-13
单元覆盖测试的目标是达到尽可能高的覆盖率。为了提高自动化单元测试的覆盖率,本文提出了一种面向目标覆盖元素,基于回溯法遍历程序控制流图,选择可达路径的方法。该方法从函数入口节点开始,进行深度优先的路径遍历,以当前的部分路径是否可达和当前节点是否能够到达目标覆盖元素,作为回溯的条件进行回溯,最终获得一条经过目标覆盖元素的可达路径。最后结合测试用例生成对5个函数单元与原有的选路方案进行语句覆盖测试的对比实验,平均覆盖率从70%提升到了90%,验证了该方法能够有效地提升覆盖率。又针对linux实际大工程进行语句,分支,MCDC覆盖的选路实验,能够获得较高的覆盖率,验证了该方法能够适用于多种不同覆盖准则下的选路。  相似文献   

6.
模糊测试被广泛应用于各种软件和系统的漏洞挖掘中.而模糊测试的效果与其采用的变异策略以及初始种子文件的代码覆盖率有直接的关系.本文提出了一种基于深度学习的种子文件生成方法,分析并学习初始种子文件和其在目标程序中的执行路径之间的关系,最终输出可能覆盖新执行路径的种子文件,从而提高初始种子文件集合的代码覆盖率.我们以PDF阅读器作为目标程序进行了实验,实验结果表明该方法所生成的种子文件保证了良好的通过率,而且明显提高了代码覆盖率.同时实验证明该方法在针对多种PDF阅读器进行模糊测试时都获得了更高的代码覆盖率.  相似文献   

7.
模糊测试是一种有效的自动化漏洞挖掘技术,主流模糊测试技术采用遗传算法生成测试用例,存在早熟现象,导致路径覆盖率不足。针对该问题,提出一种基于动态适应度函数的模糊测试方法。综合考虑了种子新度和路径深度因素,设计了根据测试阶段不同而动态变化的适应度函数,实现了基于动态适应度函数的模糊测试工具DynFuzzer。在BegBunch和CGC提供的测试集上进行实验,结果表明与现有模糊测试工具相比,DynFuzzer路径覆盖率提高了40%,多发现了10%的bug。基于动态适应度函数的模糊测试方法能有效克服早熟问题,提高路径覆盖率,发现更多的bug。  相似文献   

8.
在基于哈希函数的签名方案的基础上,提出了一种新的基于双向认证的哈希链签名方案,能够防止用户双方作弊及外部攻击。并对其签名和认证的速度进行了实验测试,相对于基于公钥算法的数字签名方案,该方案的执行速度有明显提高。  相似文献   

9.
一种求解多执行模式资源水平问题的遗传算法   总被引:3,自引:0,他引:3  
针对资源受限情况下多执行模式工程调度中资源水平问题的特点,设计了一种遗传算法。解的编码采用满足紧前关系的工作链表与工作执行模式链表结合的双链表结构,交叉算子采用修正的一点交叉算法。为保证收敛解的可行性,在适值函数计算时对不可行解进行惩罚。对标准问题库PSPLIB中大量问题的求解实验结果表明,遗传算法是求解该问题的一种有效算法。  相似文献   

10.
缺少文档的开源项目和文档不完整的开源项目,分析其源代码是了解其运行机理的主要方法,本文提出一种基于函数分析顺序的分析方法,并且提出构建函数分析顺序的过程。过程为首先使用强连通算法消除函数递归调用,得到一些组件,再用拓扑排序对组件和组件内部的各函数节点排序,得到一个分层链表,该链表包含各函数的调用顺序和分析顺序,再用一种展开算法将分层链表展开,最终得到源代码中的函数分析顺序。  相似文献   

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

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