[发明专利]一种软件运行时故障定位方法有效
申请号: | 201611102015.4 | 申请日: | 2016-12-02 |
公开(公告)号: | CN106776208B | 公开(公告)日: | 2018-08-31 |
发明(设计)人: | 薛惠锋;闫陈静;张伟;葛慧;经小川;高金梁;傅艳;张博;吕宏宇 | 申请(专利权)人: | 中国航天系统科学与工程研究院 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/36 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 范晓毅 |
地址: | 100048*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种软件运行时故障定位方法,该方法包括静态准备阶段、动态运行阶段和故障定位阶段;其中:在静态准备阶段,即在软件系统运行之前,根据软件系统的高层需求描述,确定性质规约,然后根据该性质规约在软件系统中插装代码、部署探针,并构造运行时监控器;在动态运行阶段,即在软件运行的过程中,插装代码采集软件系统运行时设定监控变量的变化信息,监控器根据该变化信息,对软件系统执行情况进行是否符合性质规约的验证,探针记录软件系统的执行路径。在故障定位阶段,根据软件执行路径和监控器验证结果,进行统计分析实现软件系统故障定位。 | ||
搜索关键词: | 一种 软件 运行 故障 定位 方法 | ||
【主权项】:
1.一种软件运行时故障定位方法,其特征在于包括以下步骤:(1)、采用规约定义语言将设定的软件系统测试需求定义为性质规约;(2)、对性质规约对应的脚本文件进行编译得到事件识别器,并确定所述事件识别器的插装位置;然后在软件系统程序进行编译之前,通过代码插装工具将所述事件识别器对应的代码插装在软件系统程序中;(3)、根据性质规约确定软件系统对应的LTL公式,并利用自动机理论将所述LTL公式转化为有穷状态机,作为运行时监控器;(4)、根据性质规约确定软件系统的关键变量和关键函数,将所述关键变量和关键函数所在位置作为检测节点,并在所述检测节点上部署探针;(5)、在软件系统运行时:事件识别器采集设定的监控变量的变化数据,并发送给运行时监控器;运行时监控器对监控变量的变化数据进行验证,判断软件系统执行情况是否符合性质规约;探针记录软件系统的执行路径;(6)、重复步骤(5),将软件系统运行M次,得到M组验证结果和软件系统执行路径;(7)、根据M组验证结果和软件系统执行路径,统计每个检测节点上出现故障的次数,选取故障次数最高的若干个位置作为软件系统的故障点;软件系统的故障点具体定位实现过程如下:(7a)、在M组验证结果中提取M′组有效验证结果,即所述M′组有效验证结果对应的软件系统执行路径;M′为验证结果有效的软件执行次数;(7b)根据M′组有效验证结果和软件系统执行路径,得到软件故障分析矩阵Q:
其中:ei为第i个有效验证结果,如果运行监控器判断软件系统执行情况符合性质规约,则ei=0,如果运行监控器判断软件系统执行情况不符合性质规约,则ei=1;Xi=[xi1 xi2 … xij … xiN]T为第i个有效验证结果对应的软件系统执行路径,如果软件执行过程中经过第j个检测节点,则xij=1;i=1、2、…、M′,j=1、2、…、N,N为软件系统中部署的探针总数;(7c)根据软件故障分析矩阵Q,统计软件系统执行过程中经过各检测节点时出现软件故障的次数,具体计算公式如下:
其中,αj为软件系统经过第j个检测节点时出现软件故障的次数;(7d)对α1、α2、…、αN按升序进行排序,选取排序后的前L个值对应的检测点作为软件故障点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航天系统科学与工程研究院,未经中国航天系统科学与工程研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611102015.4/,转载请声明来源钻瓜专利网。
- 上一篇:一种数据中心监控系统
- 下一篇:一种智能设备的温度监控方法和系统