首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 171 毫秒
1.
在程序动态测试中,需要评价二进制代码动态测试效果.提出了一种二进制代码覆盖率评估方法,设计并实现了基于分支轨迹存储技术的二进制代码覆盖率评估系统.通过分支监视引擎记录动态测试中的代码分支轨迹,利用分支轨迹数据修正静态分析结果,综合静态分析结果和分支轨迹记录评估二进制代码覆盖率,并实现轨迹数据的可视化.实验结果表明,该系统能够有效提高覆盖率评估精度和效率.  相似文献   

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

3.
本文以无线电调谐单元设备中的无线电调谐软件为例,通过引入LDRATESTBED自动化测试工具提高测试效率,实现满足DO-178C中的语句覆盖数据的目标.语句覆盖是民用飞机软件研制中最基本的覆盖率测试目标.语句覆盖可以有效检测出源代码中的多余代码,提高代码质量.通过实验表明LDRATESTBED可以快速完成源代码插桩以及代码覆盖率数据分析任务,同时,该工具自动标识源代码中未执行的代码,为开发者提供了分析的基础.工具生成的语句覆盖率数据满足DO-178C标准目标要求,可以作为证据提交给局方进行审查,提高软件的置信度.  相似文献   

4.
程序测试研究表明代码安全缺陷聚集于热点代码。提出一种面向热点代码的路径搜索方法,在程序CFG(controlflow graph)图上搜索分支语句与热点代码之间的最短路径,采用符号执行方法生成路径约束判断其可达性,结合多热点搜索优化策略进一步消除不可达子路径,从而快速生成能够覆盖热点代码的测试用例。实验结果表明,与DFS(depth-firstsearch)和BFS(best-first search)方法相比,在达到相同热点代码覆盖率情形下,该方法能够有效减少测试路径并缩短搜索时间。  相似文献   

5.
软件测试中,不可达路径的存在会导致测试资源浪费,有效地检测程序中的不可达路径有助于节约测试资源、提高测试效率.分支相关性的存在是不可达路径产生的主要起因.因此,确定分支的相关性在不可达路径的检测中占据十分重要的地位.提出了一种利用关联分析和数据流分析确定分支相关性的方法,进而实现不可达路径的自动检测.首先,结合静态分析和动态分析,构建反映程序中各分支判断语句静态依赖关系和动态执行信息的数据集;然后,利用关联分析和数据流分析技术确定分支的相关性;最后,根据分支相关性信息检测不可达路径.基于一组基准程序和开源程序,开展不可达路径检测实验.实验结果表明,该方法能够准确地检测出程序中的不可达路径,可以有效地提高软件测试的效率.  相似文献   

6.
随着软件系统变得越来越复杂和庞大,如何对它进行快速有效的测试已经成为现在的一大热点.通过将Agent技术引入软件测试过程,设计了一种基于多Agent的软件测试系统.该系统由界面Agent模块、预处理Agent模块、程序插桩Agent模块和动态测试信息分析Agent模块组成.实现了软件语句和分支覆盖率的测试及查询覆盖率不满足要求时未覆盖目标的情况.有效地解决了传统手工测试程序运行效率低、繁琐等一些问题,保证了软件系统高效稳定的运行.  相似文献   

7.
IA-64二进制代码switch语句恢复技术研究   总被引:1,自引:1,他引:0  
在对IA-64二进制代码进行分析的过程中,一个基本的问题就是识别通过跳转表实现的switch语句中n-条件分支的目标地址,该问题的解决使得对指定过程的机器指令的解码更加完整。文章基于切片和表达式置换技术,结合IA-64中为switch语句生成的汇编代码特点,给出了恢复跳转表及目标地址的方法,从而可以将包含跳转表的IA-64二进制代码恢复为高级switch语句。  相似文献   

8.
为了有效进行目标码分析与验证,提出了通过扩展CPU模块获取目标码控制流图及结构覆盖率的方法.采用CPU分支指令功能扩展,并新增动态地址跳转记录单元,实现目标码控制流信息的有效采集,结合目标码流图构造算法,完成结构覆盖率计算.分析结果表明,该方法不依赖于开发工具链信息和无需代码插桩,对CPU运行性能影响小且目标码流图构造算法为线性复杂度.  相似文献   

9.
覆盖率统计是软件白盒测试的重要手段。BWDSP处理器为其软件用户实现了一个代码覆盖率统计工具。该工具可以统计语句覆盖率、分支覆盖率,还可以用累加方式统计覆盖率。该工具通过调试信息得到被测软件的代码行号信息。它使被测软件在BWDSP模拟器上运行,并同时搜集被测软件的覆盖信息,最后把覆盖信息与行号信息结合得到覆盖率。该覆盖率统计工具已经被BWDSP操作系统等大型软件在测试时使用,对这些软件的测试工作起到了重要作用。  相似文献   

10.
覆盖率驱动的验证是功能验证的重要方法,但功能覆盖定义的主观性和手工调整验证输入的冗长过程都极大地影响了覆盖率驱动验证的效率.文中分析了代码行覆盖次数与功能覆盖率的内在联系,建立了基于代码行覆盖次数的概率模型,提出一种新的通过分析代码覆盖提高功能覆盖率的验证输入自动生成方法--FOCDGAG.通过代码行覆盖次数计算验证输入序列的适应度,选取对提高功能覆盖率贡献较高的输入序列,使用遗传算法自动生成新的输入序列组.实验结果表明,采用FOCDGAG时不需要功能覆盖信息,可以将全随机输入生成的功能覆盖率收敛速度提高10倍以上,将约束随机输入生成的功能覆盖率收敛速度提高20倍以上.  相似文献   

11.
为了获取组合测试中适应值函数所需要覆盖率、测试运行代价等信息,设计实现了基于嵌入式软件源代码插桩的指标获取方案。该方案使用交叉开发环境,完成了对源代码语法、词法分析,插桩库和插桩策略的制定,目标机/宿主机通讯方式设计,获得了语句覆盖率、分支覆盖率、运行时间、被测程序程序复杂度等关键指标,并以图表的方式提供统计结果,为组合测试设计适应值函数,进行测试用例约减提供了依据。  相似文献   

12.
Software testing during the development process of embedded software is not only complex, but also the heart of quality control. Multi-core embedded software testing faces even more challenges. Major issues include: (1) how demanding efforts and repetitive tedious actions can be reduced; (2) how resource restraints of embedded system platform such as temporal and memory capacity can be tackled; (3) how embedded software parallelism degree can be controlled to empower multi-core CPU computing capacity; (4) how analysis is exercised to ensure sufficient coverage test of embedded software; (5) how to do data synchronization to address issues such as race conditions in the interrupt driven multi-core embedded system; (6) high level reliability testing to ensure customer satisfaction. To address these issues, this study develops an automatic testing environment for multi-core embedded software (ATEMES). Based on the automatic mechanism, the system can parse source code, instrument source code, generate testing programs for test case and test driver, support generating primitive, structure and object types of test input data, multi-round cross-testing, and visualize testing results. To both reduce test engineer's burden and enhance his efficiency when embedded software testing is in process, this system developed automatic testing functions including unit testing, coverage testing, multi-core performance monitoring. Moreover, ATEMES can perform automatic multi-round cross-testing benchmark testing on multi-core embedded platform for parallel programs adopting Intel TBB library to recommend optimized parallel parameters such as pipeline tokens. Using ATEMES on the ARM11 multi-core platform to conduct testing experiments, the results show that our constructed testing environment is effective, and can reduce burdens of test engineer, and can enhance efficiency of testing task.  相似文献   

13.
嵌入式软件语句覆盖率测试插桩技术   总被引:1,自引:0,他引:1  
孙红利  王忠民  王文浪 《计算机应用》2010,30(10):2738-2740
针对基于宿主机的嵌入式软件测试,提出一种单元测试中通用的语句覆盖率测试方法,通过插桩技术,采用向源代码插桩实现语句覆盖率测试。设计了测试代码的实现算法,通过测试代码可以自动完成向被测代码插桩。这些方法被成功地应用到笔者所在项目组开发的嵌入式软件仿真测试平台ARMtest上。利用这些方法,在嵌入式硬件系统未完成开发之前,可通过宿主机环境和仿真环境及时发现嵌入式软件开发初期的一些不足并加以完善。  相似文献   

14.
为满足底层软件的使用需求及减少其存在覆盖率低、消耗成本大、丢包率高、数据采集频率小等问题,提出并设计了基于ARINC429接口板的嵌入式底层软件测试平台。根据ARINC429接口板的结构框图能够设计出嵌入式底层软件测试平台,针对用户安全登录问题,设计了平台登录验证功能;通过对嵌入式底层软件运行信息显示,能够实时对软件运行状态进行监测,进而为数据采集与查询提供支持;设计工具链作为代码编译开发和结构测试工具;通过数据采集、处理、传输来完善软件测试平台的覆盖率。通过实验对比分析可知,该测试平台能够提高测试覆盖率,降低丢包率,促使数据采集频率大大增强,为软件测试平台的安全有效运行提供了保障。  相似文献   

15.
A key issue in testing is how many tests are needed for a required level of coverage or fault detection. Estimates are often based on error rates in initial testing, or on code coverage. For example, tests may be run until a desired level of statement or branch coverage is achieved. Combinatorial methods present an opportunity for a different approach to estimating required test set size, using characteristics of the test set. This paper describes methods for estimating the coverage of, and ability to detect, t-way interaction faults of a test set based on a covering array. We also develop a connection between (static) combinatorial coverage and (dynamic) code coverage, such that if a specific condition is satisfied, 100 % branch coverage is assured. Using these results, we propose practical recommendations for using combinatorial coverage in specifying test requirements, and for improving estimates of the fault detection capacity of a test set.  相似文献   

16.
一种基于Linux平台的嵌入式软件测试工具   总被引:1,自引:0,他引:1  
详述了软件测试工具K7在Linux环境下对嵌入式软件进行代码测试的过程。结果表明,测试嵌入式Linux程序时,使用该工具能使被测程序从目标平台脱离,在宿主机RedHat9环境下完成代码静态分析,从而有效降低了嵌入式软件测试的复杂度,能够帮助程序员迅速查找软件的设计缺陷,提高软件可靠性。  相似文献   

17.
代码覆盖测试技术在MODE-S应答机中的应用   总被引:1,自引:0,他引:1  
代码覆盖测试技术可用于结构覆盖测试和程序复杂度分析,代码覆盖测试技术可用于测试用例设计,提高软件测试效率,指导编写高质量的程序代码,代码覆盖是软件测试的底线.代码覆盖测试技术及方法的研究,为软件覆盖测试提供了理论依据.在Mode-S应答机项目中应用TRACE覆盖测试技术,确保了产品满足适航软件标准RTCA/DO-178B LEVEL B的要求.  相似文献   

18.
随着软件系统变得越来越复杂和庞大,如何对它进行快速有效的测试已经成为一大热点。该系统实现了基于仿真的嵌入式软件覆盖测试系统。系统通过对源程序进行词法语法分析、自动插装、测试用例的生成和加入、动态仿真运行及覆盖率报告分析等得到测试结果,有效地解决了传统的基于目标测试带来的一些问题,基本满足了国内用户对嵌入式软件测试的需求。  相似文献   

19.
Structural code coverage criteria have been studied since the early seventies, and now they are well supported by commercial and open-source tools and are commonly embedded in several advanced industrial processes. Most industrial applications still refer to simple criteria, like statement and branch coverage, and consider complex criteria, like modified condition decision coverage, only rarely and often driven by the requirements of certification agencies. The industrial value of structural criteria is limited by the difficulty of achieving high coverage, due to both the complexity of deriving test cases that execute specific uncovered elements and the presence of many infeasible elements in the code. In this paper, we propose a technique that both generates test cases that execute yet uncovered branches and identifies infeasible branches that can be eliminated from the computation of the branch coverage. In this way, we can increase branch coverage to closely approximate full coverage, thus improving its industrial value. The algorithm combines symbolic analysis, abstraction refinement, and a novel technique named coarsening, to execute unexplored branches, identify infeasible ones, and mitigate the state space explosion problem. In the paper, we present the technique and illustrate its effectiveness through a set of experimental results obtained with a prototype implementation.  相似文献   

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

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