首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 359 毫秒
1.
针对软件安全测试中静态符号执行技术难以处理环境交互的问题, 提出了一种基于混合输入的符号执行方法。首先, 定义了程序执行的一致性模型, 系统化地分析了符号执行与实际执行的逼近问题; 接着, 提出了符号执行与具体执行的转换方法及维护一致性的启发式策略; 最后, 通过区分可求解约束和复杂约束条件, 提出了具体值和符号值混合代入法化简复杂约束的路径求解算法。实验结果表明该方法在处理环境交互问题上的可行性和有效性, 扩展了静态符号执行的能力。  相似文献   

2.
航天测控软件系统安全关键等级高,其质量直接决定航天任务成败,具有架构庞大、软件配置项多、内外接口复杂、数据传递路径长、处理实时性强等特点,软件系统测试的要求高且难度大,目前存在系统测试需求不清晰、测试针对性差等实际问题;航天测控软件系统是典型的数据驱动型软件系统,针对其特点,文章提出了一种基于数据源识别和数据流分析的软件系统测试方法,开展了数据源识别、数据流路径分析、数据状态分析和获取、系统级数据流顺序图生成等关键技术研究,给出了该方法的推荐工作流程;该方法已在多个航天测控中心软件系统测试中应用,实践表明,针对数据驱动型软件系统,该方法可以显著提高系统测试的设计有效性和测试效率。  相似文献   

3.
针对安全苛求系统(SCS)自动化测试中测试脚本规模大、结构复杂、难维护的特点,提出一种基于XML的测试脚本自动生成方法。将XML作为测试脚本语言,使用SED模式设计SCS测试场景,采用FSM对SCS运营场景建模,设计一系列转换生成算法自动生成XML测试脚本,实现了SCS测试脚本自动化生成和验证,并成功应用到高速铁路CTCS-2级列车运行控制系统仿真测试中。  相似文献   

4.
近年来随着测试的复杂性和重要性不断增加,软件测试技术逐渐成为软件领域研究的热点.符号执行技术是一种重要的形式化和自动化的分析技术,在程序自动化测试中具有重要的应用.重点描述运用符号执行技术进行参数化单元测试的实现过程,并选择运用动态符号执行技术实现的参数化单元测试软件Pex进行实验,从而更好地验证符号执行技术在自动化单元测试中的优势.  相似文献   

5.
符号执行研究综述   总被引:1,自引:0,他引:1  
叶志斌  严波 《计算机科学》2018,45(Z6):28-35
符号执行作为一种重要的程序分析方法,可以为程序测试提供高覆盖率的测试用例,以触发深层的程序错误。首先,介绍了经典符号执行方法的原理;然后,阐述了基于符号执行发展形成的混合测试、执行生成测试和选择性符号执行方法,同时,对制约符号执行方法在程序分析中的主要因素进行了分析,并讨论了缓解这些问题和提高符号执行可行性的主要方法;随后,介绍了当前主流的符号执行分析工具,并比较分析了其优缺点;最后,总结并讨论了符号执行的未来发展方向。  相似文献   

6.
随着系统复杂性的急剧增加,未来安全关键软件越来越多地采用异构构件组合架构,各种构件可能使用不同的计算模型或实现语言,使得整个软件系统呈现异构性.因此,设计此类系统需要使用复杂的建模方法.AADL(architecture analysis and design language)是一种安全关键系统体系结构多范式建模语言...  相似文献   

7.
安全关键系统是指其不正确的功能或失效会导致人员伤亡、财产损失等严重后果的计算机系统。软件系统是安全关键系统研究的核心和难点。阐明了安全关键系统及其软件的基本概念、主要研究内容、起源与现状,重点讨论了安全关键软件方法,特别是形式化方法的原理、相关标准和典型应用。在分析当前安全关键系统的新变化及其软件面临的挑战的基础上,提出并讨论了形式化方法可能的应对对策和发展方向。  相似文献   

8.
符号执行在辅助挖掘软件漏洞和软件去混淆等领域取得了很大的进展,作为保护软件安全最有效手段之一的代码混淆系统如今几乎无法对抗符号执行的攻击.为解决上述问题,文章从混淆系统的功能扩展和符号执行工具的弱点利用出发,通过丰富OLLVM的同义指令替换集合和恒真谓词集合,设计不透明谓词对软件控制流进行混淆以及对分支条件进行加固,提...  相似文献   

9.
当前分支混淆技术通过构造条件异常代码和异常处理替代条件跳转指令,隐藏分支选择指令的地址,提高约束条件获取的难度,从而对抗符号执行。当前方法构造的条件异常代码中,关键数据具有二值性问题,有利于分支混淆的检测、发现和约束条件获取,降低了混淆的隐蔽性和与符号执行的对抗性;基于该缺点,提出一种使关键数据具有多样性特征的条件异常代码构造方法,增加了混淆的隐蔽性和约束条件的获取难度,提高分支混淆对抗符号执行的强度;通过结构化异常处理实现了基于新型条件异常代码构造的分支混淆原型系统,并对混淆进行了测试和分析。  相似文献   

10.
一种软件系统运行安全保护方法   总被引:1,自引:0,他引:1  
陈伍军  吕志军  刘岸  吴琨  仲海骏  曾庆凯 《计算机工程》2005,31(16):139-141,143
通过分析软件系统自身安全的各种保护方案的优缺点,提出了一种软件系统的运行安全保护方法。描述了该方法的通信协议和具体实现技术,并给出了一个在实际系统中的应用实例和性能测试结果。  相似文献   

11.
连续执行软件可靠性验证测试方法   总被引:1,自引:0,他引:1  
针对基于经典统计假设检验的固定期测试方法测试持续期太长,难以满足现代连续执行软件可靠性验证测试的需要,提出了一种基于经验贝叶斯统计推断的连续执行软件可靠性验证测试方法。该方法通过可靠性增长测试阶段的测试记录获得软件失效强度的先验分布,从而得到所需要的验证测试持续期,并结合检证测试过程中的具体情况,提出了先验动态整合的方法。实验表明,该方法在不降低验证测试结果可信性的条件下,能有效地减少可靠性验证测试的持续期。  相似文献   

12.
基于UML的软件Markov链使用模型构造研究   总被引:16,自引:1,他引:16  
颜炯  王戟  陈火旺 《软件学报》2005,16(8):1386-1394
软件统计测试要求基于软件使用模型产生测试例对软件系统进行测试,并根据测试结果评价软件可靠性,是高可靠软件测试的重要组成部分.由于统一建模语言(unified modeling language,简称UML)已经成为事实上的面向对象标准建模语言,因此,从软件UML模型构造软件使用模型就成为面向对象软件统计测试的关键.为此,定义了加入统计测试约束的UML用例图、序列图以及用例执行顺序关系,为基于UML的软件统计测试提供了一个形式化描述基础.在此基础上,给出一个从软件UML模型构造软件Markov链使用模型的算法,并给出了自动化支持工具UMGen的类图结构,基于一个卫星控制系统,说明了所提出方法的有效性.  相似文献   

13.
探索性软件测试解析   总被引:3,自引:0,他引:3  
探索性测试是一种完全不同于传统测试方法的测试技术,它提出将学习被测系统、设计测试用例、执行测试同时进行的策略,以及拥抱变化的口号。探索性测试由于其高效的发现软件缺陷的能力而越来越受到人们的重视。文章由传统软件测试方法模型理论的不足,引出探索性软件测试这种前沿的软件测试理论,对其定义、模型方法及优缺点等进行了全面的研究分析。研究表明探索性软件测试方法是对传统软件测试理论的很好补充,合理的利用探索性测试,能够显著提高软件的测试效率。  相似文献   

14.
目前提高软件可靠性的方法有3种:动态测试、静态分析和程序验证。动态测试的结果依赖于测试集的设计,误报率低,漏报率高,分析结果不稳定。程序验证可以对程序的各种性质进行完备的验证。但目前程序验证通常都需要手动证明,分析成本最高。而程序静态分析可以更早、更全面、较高效和低成本地检测到程序中的缺陷。其中符号执行技术是一种比较有应用前景的静态分析技术,可以很好地控制 精确度。针对符号执行可伸缩性差和容易产生路径爆炸的问题,在符号执行过程中利用形状分析技术实现自动推导循环不变式和构建函数行为规范,实现了一个较为实用的C程序分析工具。  相似文献   

15.
The need for safety critical systems (SCS) is both important and urgent, and their evaluation and verification are test-dependent. SCS are usually complex and very large, so manual testing of SCS are infeasible in practice, and developing automatic test approaches for SCS has become an important trend. This paper defines a formal semantics model for automatic test of SCS, called AutTMSCS, which describes behaviors in SCS testing. The model accommodates the high order collaboration in real time and temporariness of SCS testing. Testing tasks, test equipment and products under test are abstracted and architected in three layers, and a method for automatic testing is given. Based on extended label transition system (LTS), the convergency and correctness of the model are proved to demonstrate the computability of the model, indicating that the testing process of SCS can be automatic.  相似文献   

16.
肖燕  缪力  李玮 《计算机系统应用》2011,20(11):150-153
回归测试指对修改后的软件进行测试.为提高回归测试错误分析效率,基于目前热路径思想在程序分析里的应用,结合程序切片方法,提出一种高效的回归测试方法.首先找出在程序执行过程中方法级的执行路径频率,结合应用Dslice切片算法应用用于回归测试,对已知的错误的程序进行调试,比较准确地进行了方法级的错误定位.实验结果表明通过热路...  相似文献   

17.
软件规模庞大,结构复杂,使软件测试和软件可信性评价成为一个亟待解决的理论问题,可信软件研究也因此成为目前软件工程研究的热点。实验证明大型软件的静态函数调用网络和动态执行所得到的函数调用加权(函数调用次数)网络都具有小世界效应和无标度特性,这就为采用基于关键模块和关键路径的软件测试方法提供了理论依据,从而提高测试效率,降低测试费用。提出基于关键路径的测试方法,利用较少的测试用例覆盖较多的软件执行过程。  相似文献   

18.
相对于传统测试主要关注软件的肯定需求,安全性测试则主要关注软件的否定需求。基于威胁模型的软件安全性测试是从攻击者的角度对软件进行测试。使用UML顺序图对安全威胁进行建模,从威胁模型中导出消息序列,从消息序列中导出威胁行为轨迹。程序编码完成后,对代码进行插桩以记录程序运行时的方法调用和执行的轨迹。设计测试用例,执行插桩后的程序并记录程序运行时的执行轨迹,将记录的程序执行轨迹与模型中导出的威胁行为轨迹进行比较,以确定程序中是否存在违反安全策略的威胁行为。  相似文献   

19.
基于UML的软件测试自动化研究   总被引:8,自引:0,他引:8  
测试自动化是提高软件测试效率的重要途径。随着UML的广泛应用,基于UML模型的测试逐渐成为面向对象软件测试的研究热点。在总结研究现状的基础上,详细论述了基于UML模型的软件测试用例自动生成、自动执行以及结果自动比较的过程,对其中的主要问题进行了理论分析,并提出了实现方法。  相似文献   

20.
软件测试是提高软件产品质量和降低软件维护成本的重要手段。针对高安全关键航空机载软件测试质量评价难题,结合航空机载设备研制生存周期、航空机载软件研制生存周期和航空机载软件测试阶段,提出一种全生存周期航空机载软件测试质量评价方法,并建立了基于软件研制过程测试、三方测评、定型/鉴定测评和用户使用四个阶段的质量评价模型,包括测试需求分析和策划质量、测试设计和实现质量、测试执行质量和测试总结质量4项活动和18种度量元。通过工程实践证明,该方法技术实现上可行,具有评价要素更完整、评价模型更合理、评价结果更客观的特点,为解决航空机载软件测试质量评价提供了一种新方法,最终能达到降低软件维护成本和提高软件测试质量的目的。  相似文献   

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

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