发明名称 一种嵌入式软件动态缺陷检测系统
摘要 本发明提供一种精确的嵌入式软件动态缺陷检测方法,包括测试代理端模块和客户端模块,两部分通过网络进行通信。测试代理运行于目标机上,检测被测程序,对所需要的数据和信息进行采样提取,并通过网络发送给客户端。测试代理分为采样模块和测试代理模块,采样模块以Linux内核模块的形式加载到内核空间中,对PMU寄存器进行操作,对指令地址进行采样;测试代理模块负责代理内核模块与客户端进行交互,接收客户端的请求与配置等,对内核模块做出相应的设置,并从内核模块中读取样本数据发送给客户端。客户端以Eclipse插件的形式开发并集成到GDIX嵌入式软件测试平台中。本发明通过测试代理端模块和客户端模块提供嵌入式软件动态缺陷检测服务,并实时在线地进行测试结果数据的处理和显示。
申请公布号 CN101937392B 申请公布日期 2012.06.20
申请号 CN201010265899.1 申请日期 2010.08.27
申请人 华南理工大学 发明人 刘发贵;侯明明;刘佳欣;李胜文
分类号 G06F11/36(2006.01)I;G06F15/16(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 广州粤高专利商标代理有限公司 44102 代理人 何淑珍
主权项 一种嵌入式软件动态缺陷检测系统,由客户端和测试代理端两部分共同协作完成,所述客户端设置在开发机中,测试代理端设置在目标机中,客户端和测试代理端通过网络进行通信,使得测试代理端所采集的样本数据通过网络实时发送给客户端进行分析并实时更新显示;所述测试代理端包括用于采集和统计样本数据的采样模块和进行样本数据传送的测试代理模块;其特征在于:所述采样模块分为PMU配置模块、中断处理模块、控制模块、proc文件系统接口、配置表以及样本缓存;所述PMU配置模块是基于微处理支持的PMU硬件单元,封装PMU硬件单元的操作细节,提供抽象访问接口供上层调用;所述中断处理模块是对系统运行时发生的多种硬件事件中断进行捕获处理,对引起这些事件的指令地址进行采样,组织为样本并存入样本缓存;所述控制模块通过proc文件系统接口与测试代理模块进行交互,接收事件配置信息,经过配置表映射为PMU事件码,通过PMU配置模块写入PMU事件选择单元,通过proc文件系统接口返回样本缓存中的样本数据信息;所述proc文件系统接口是测试代理模块和采样模块进行交互的接口,采样模块通过它向测试代理模块提供样本数据访问接口,同时,测试代理模块把它作为采样模块的配置接口;所述配置表是一个便于查找的哈希表结构,维护事件配置信息和PMU硬件单元事件码的对应关系;所述样本缓存采用循环队列来表示,用于存放中断处理模块生成的样本数据信息,供测试代理模块通过proc文件系统接口读取并发送给开发机的客户端;所述测试代理模块包括Slave pool、连接分配器、工作线程与服务进程;所述Slave pool是一个专为测试代理模块实现的进程池,Slave pool通过Domain Socket同服务进程通信,传递socket句柄,并了解它们的状态;所述连接分配器负责监听服务端口,接收连接请求并调用Slave pool的接口对请求进行分配和管理;所述工作线程通过proc文件系统接口从采样模块的样本缓存中读取测试样本数据信息,并通过客户端连接socket发送给客户端;所述服务进程与客户端进行交互,并且操作与工作线程共享的数据,当它接收到连接分配器发送过来的与客户端连接的socket句柄后,服务进程进入一个循环中,对该句柄select并进行超时处理,同时进行与客户端交互、对共享数据的操作;所述客户端包括数据收集器和数据处理模块,数据收集器为客户端接收样本数据,并交给数据处理模块进行数据的处理解析,数据处理模块按照设定的解析算法对数据进行分析处理,并更新GUI上相应的组件。
地址 510640 广东省广州市天河区五山路381号