买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:西安电子科技大学
摘要:本发明属于计算机程序设计语言及应用技术领域,公开了一种PPTL规范挖掘系统和方法,所述PPTL规范挖掘系统,包括Trace生成模块、Trace解析模块、PPTL_LNFG转换模块、LNFG实例化模块、LNFG检测模块和挖掘结果返回模块。本发明利用完全正则的PPTL形式化待挖掘的性质,将PPTL一次性转为LNFG从而减少时间的浪费,再用类似广度优先遍历的方式将trace中的事件与LNFG边上的PPTL状态公式进行对比,从而挖掘出满足程序执行trace的规范,且减少出现内存崩溃的情况,很好地解决了现有技术挖掘规范时由于重复将相同或类似的PPTL转为NF而导致挖掘时间过长的问题。
主权项:1.一种PPTL规范挖掘方法,其特征在于,所述PPTL规范挖掘方法,包括:用PPTL公式形式化待挖掘的性质,将PPTL公式转为对应的LNFG形式,用类似广度优先遍历的方式对trace和LNFG进行检测,挖掘出满足trace的PPTL实例;所述PPTL规范挖掘方法,还包括以下步骤:步骤一,将待挖掘的可执行程序输入Trace生成模块,输出一个仅包含程序中方法调用的函数序列,即trace文件;步骤二,将trace文件输入Trace解析模块,输出一个包含trace中所有出现的事件的集合Events,并将方法调用抽象为事件;步骤三,将用户选择的待挖掘的一个PPTL公式P输入PPTL_LNFG转换模块,输出P对应的LNFG形式,并用邻接链表进行存储;步骤四,将步骤二输出的事件集Events和步骤三输出的LNFG同时输入LNFG实例化模块,输出用邻接链表保存的实例化的LNFG;步骤五,将步骤一输出的trace和步骤四输出的实例化的LNFG同时输入LNFG检测模块,输出表示PPTL是否满足此条trace的布尔变量;步骤六,重复执行步骤五直至所有实例化的LNFG均完成与trace文件的检测,计算每个实例化的PPTL实例满足trace文件的置信度并返回;步骤三中,所述将用户选择的待挖掘的一个PPTL公式P输入PPTL_LNFG转换模块,输出P对应的LNFG形式,用邻接链表进行存储,包括:所述PPTL_LNFG转换模块先将PPTL公式转化为对应的NF形式,再转为LNFG形式,一个PPTL公式P的LNFG形式是一个有向图G=CLP,ELP,V0,L={Li,…,Lm},其中CLP表示图G的结点集合,每一个结点对应一个PPTL公式,且为时序公式,ELP表示图G的边集,每条边对应一个PPTL公式,且为状态公式,每一条边表示两个结点间的迁移条件,V0表示图G的初始结点的集合,L表示图G中结点的标记集合;由于基于LNFG的PPTL规范挖掘方法对处于结点的PPTL公式不感兴趣,仅仅应用其边上的PPTL公式,故将LNFG中的结点用非负整数唯一标识,即进行匿名化从而节省存储空间;采用邻接链表数据结构来存储LNFG,其中头结点的数据域为当前结点匿名化后的编号,表示当前状态,邻接点域表示当前结点经过PPTL公式后的下一结点匿名化后的编号,表示下一状态,边结点的权值域存储PPTL公式的语法树,表示迁移条件;步骤四中,所述将事件集Events和LNFG同时输入LNFG实例化模块,输出用邻接链表保存的实例化的LNFG,包括:初始化一个实例池,即构造Am,n个atomic,event映射,其中Am,n=m!m-n!,m=|Events|,n=|Atomic_set|,atomic∈Atomic_set,event∈Events;实例化池生成一个迭代装载器iteration_tracker,iteration_tracker存储n个三元组mapfrom,switchvar,mapto,其中第i个三元组的mapfrom为原子命题集Atomic_set中第i个原子命题,mapto指向事件集Events中的第j个事件且0≤j≤m-1,switchvari为第i个原子命题的mapto映射为下一事件的步长,且switchvari=mn-1-i,0≤i≤n-1;由于原子命题集中的原子命题各不相同,故原子命题的mapto不能指向同一事件;初始化实例池后,每次实例化选取其中一对atomic,event映射,遍历LNFG中的每个边结点,并将权值域中PPTL语法树的原子命题atomic替换为对应的event。
全文数据:
权利要求:
百度查询: 西安电子科技大学 一种PPTL规范挖掘系统和方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。