嵌入式软件覆盖测试的插桩技术研究

来源 :南京航空航天大学 | 被引量 : 4次 | 上传用户:zyjwxb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着嵌入式软件的广泛应用以及开发技术的日新月异,相对于硬件的日益稳定,软件却频频出现故障。作为保证软件质量的最有效手段的测试技术,因此越来越引起软件用户以及开发人员的关注。嵌入式软件测试与通用软件的测试相比,有很大不同。嵌入式软件的执行只能在需求所规定的硬件平台上才可以进行;嵌入式软件的开发环境和运行环境也是不一致的,因此即使在宿主机环境下测试再充分,也不能保证在目标机环境下运行该软件就不会出问题。另外,由于嵌入式软件的一些自身特点,例如实时性、内存资源有限、开发工具昂贵等,使得对嵌入式软件测试优化技术的研究尤为重要。程序插桩是嵌入式软件覆盖测试中的关键技术之一,但是伴随着它的应用,产生了程序效率低下、代码膨胀率高等问题,本文的主要任务就是提出优化算法来解决这些问题。本文从三个方面对插桩技术进行了优化,精简测试需求,精简测试用例,减小插桩开销。精简测试需求其目的是用尽可能少的测试用例充分满足给定的测试目标,从而提高效率,降低测试成本。而针对给定的测试目标,获得精简的测试需求集有助于提高测试用例集优化的效率和效果。同时,对插桩位置的选择策略也是一个提高程序运行效率的重要手段,尽量减少插桩探针的数量和探针的执行次数是本文努力的方向。精简测试需求主要是针对源程序的控制流程图进行分析,得到约简后的测试需求。在这个基础上,产生测试用例,利用广义后继支配图算法来生成最小的测试用例集,使其覆盖必需的测试需求。最后讨论了插桩开销的问题,即探针的插桩数量和执行次数。利用虚拟结点法来改进控制流程图,减小插桩开销。为了达到较好的交叉测试的效果,采用了gcc以及开源工具gcov,并对其进行了改进,使得宿主机与目标机之间进行数据传输。最后进行环境的搭建,采用skyeye来仿真硬件环境,从而搭建测试平台,对gcc和gcov进行了算法改进,并给出测试用例来说明这种改进效果。
其他文献
随着计算机网络和多媒体技术的迅速发展和日益普及,人们对多媒体信息的需求也越来大。作为多媒体信息重要成员之一的数字化音乐,也越来越频繁地影响着人们的日常生活。音乐检
移动智能终端的迅速普及吸引了众多的应用开发者开发丰富的应用来为人们提供便捷的服务。近段时间,随着移动设备性能提升和以HTML5为代表的移动Web技术的发展,一种新的基于HT
互联网的发展促进了家庭网关的发展,家庭网关的广泛应用丰富了家庭娱乐生活。随着网络业务的增多,诸如音频、视频及定制多媒体等业务越来越多地应用,家庭网关的网络性能也直
随着第四方物流产业的快速发展,我国第四方物流应急越来越受到物流服务商和社会各界的重视。现有的第四方物流应急预案大多以文本的形式存在,信息形式化程度低,关联性差,管理
目前,以支持多领域协同CAx/DFx技术为特征的复杂产品的虚拟样机技术正成为制造业界产品研究、开发的热点。如何将分布、异构环境中的多领域工具集成起来进行有效的设计仿真工
目标跟踪一直是计算机视觉研究领域的热点问题,其应用领域有视频监控、人机用户接口、虚拟现实等等。视觉跟踪要求在光照变化、遮挡等各种因素的干扰下,能准确有效地跟踪不同
随着数值预报技术的发展,天气预报质量有了很大提高,但目前的数值预报技术已趋于成熟,仅仅依靠数值预报本身无法再使预报水平获得较大程度的提高。多模式天气集成预报是因此
随着工业信息化进程的不断加快,软件行业发展与企业信息化战略关系日益紧密,企业对软件系统的功能性要求越来越丰富,而在成本预算上却希望尽量的降低。SaaS(Software-as-a-Se
随着网络技术的普及和社会信息化程度的提高,各个应用领域所积累的信息资源在网络上飞速增长,网络服务已逐渐成为了人类获取知识的必要渠道,百科知识库正是其中最为广泛应用
射频识别(RFID)技术是一种非接触自动识别技术,该技术凭借标签体积小、成本低、非接触识别、自动识别等特点,已广泛应用于多个领域。但是,由于易受外部环境的干扰和射频信号