[发明专利]一种基于序列模式挖掘的程序级操作系统调试方法无效
申请号: | 200810062635.9 | 申请日: | 2008-06-27 |
公开(公告)号: | CN101308473A | 公开(公告)日: | 2008-11-19 |
发明(设计)人: | 卜佳俊;陈华;盛其彬;罗琰;蔡晖;张毅超 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 韩介梅 |
地址: | 310027*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 序列 模式 挖掘 程序 操作系统 调试 方法 | ||
技术领域
本发明涉及基于序列模式挖掘的程序级操作系统调试方法,属于桌面操作系统调试领域。
背景技术
目前很多桌面操作系统由于资金,人力上的不足,在后期完善阶段遇到各种各样的bug(系统缺陷)。有时bug数量过于庞大,开发人员抓不住重点,往往找不到真正的bug,系统没有得到真正的改善。这时一般开发人员会使用传统的调试工具来找bug,例如GDB(通用公共授权调试器)等工具。
GDB是GNU(通用公共授权)开源组织发布的一个UNIX下的程序调试工具,它在调试方面主要有以下几方面作用:①启动程序,可以按照用户的自定义的要求随心所欲的运行程序。②可让被调试的程序在用户所指定的调置的断点处停住(断点可以是条件表达式)。③当程序被停住时,可以检查此时用户的程序中所发生的事。
但是桌面操作系统一般来说都比较庞大,GDB对整个系统调试是一件不现实的事情,它只对于局部调试有相当明显的作用,而无法对整个桌面操作系统bug位置的快速定位。
发明内容
本发明的目的在于提出一种基于序列模式挖掘的程序级操作系统调试方法,以实现在对整个桌面操作系统bug位置的快速定位。
本发明的基于序列模式挖掘的程序级操作系统调试方法,依次包括如下步骤:
1)数据预处理
通过在操作系统中插入跟踪代码,将其中的系统调用记录到文件中,对每个系统调用进行编号,然后通过二分切割法对序列进行匹配切割成短序列;
2)设置
序列模式挖掘的基本参数:系统调用序列集S,种子序列集P,最终序列集R,序列的个数N,序列模式的最小支持数min_sup;
3)频繁序列的模式挖掘
第一步扫描系统调用序列集,生成所有长度为1的序列模式,判断其是否为种子序列;
第二步再次扫描系统调用序列集,由长度为1的序列模式构造下三角矩阵,得到所有长度为2的序列模式;
第三步分析第二步中得到的矩阵,利用前后缀的基本特性来检验候选序列,对每个长度为k+1和k+2的候选序列,根据下三角矩阵,定义两种类型的值,一种是对角线上的值M[f,f],另一种是非对角线上的值M[a,b],f,a,b代表长度为1的序列模式中的三个序列模式;
a)如果K+1候选序列模式无任何值大于等于最小支持数,将候选序列模式放入最终序列集Rk+1;
b)利用最终序列集Rk判断候选序列模式是否包含Rk中的元素,若是,将候选序列模式加入Rk+2中;
c)将下三角矩阵中值大于最小支持数的K+2候选序列模式放入种子序列Pk+2中;
第四步利用第三步得到下三角矩阵中的种子序列集构造投影序列集,对每个投影序列集重复以上操作,直到没有新的频繁序列模式产生为止;
4)对频繁序列模式样本标记
第一步删除不在长度为1的种子序列集中的函数;
第二步采取最长精确匹配算法对序列集S中的每个序列进行模式匹配,算法过程如下:
a)首先对找到的所有频繁序列模式排序;
b)从前往后对序列集S中的每个序列和频繁序列模式集中的模式进行匹配,直到序列集S中的每个序列的前缀匹配到频繁序列集中的最长序列为止;
c)将经匹配的序列集S中的每个序列的前缀转化为频繁序列模式的序号,继续匹配序列集S中的每个序列的后缀,直到序列集S中每个序列匹配结束;
第三步删除序列集S中未标记的函数或函数序列;
5)隐马尔可夫模型的参数
读入上一步中得到的最终标记序列集,通过以下公式计算隐马尔可夫模型的初始状态概率πi、状态转移概率aij和输出概率bi(Ok),
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810062635.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种十字路口交通安全警示器
- 下一篇:安全型逆变直流电焊机