CN101398781B - 一种快速诊断系统软件缺陷的系统及方法 - Google Patents

一种快速诊断系统软件缺陷的系统及方法 Download PDF

Info

Publication number
CN101398781B
CN101398781B CN2007101638397A CN200710163839A CN101398781B CN 101398781 B CN101398781 B CN 101398781B CN 2007101638397 A CN2007101638397 A CN 2007101638397A CN 200710163839 A CN200710163839 A CN 200710163839A CN 101398781 B CN101398781 B CN 101398781B
Authority
CN
China
Prior art keywords
defect
defective
program
task
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007101638397A
Other languages
English (en)
Other versions
CN101398781A (zh
Inventor
刘庆彪
庄钦平
陈玄同
刘文涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CN2007101638397A priority Critical patent/CN101398781B/zh
Publication of CN101398781A publication Critical patent/CN101398781A/zh
Application granted granted Critical
Publication of CN101398781B publication Critical patent/CN101398781B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种快速诊断系统软件缺陷的系统及方法,系用以对导致系统错误的系统程序缺陷进行快速定位并向用户回馈。首先,依据用户需求,预先设定并在系统中写入系统缺陷分析准则的程序,且在系统的程序模块中依照用户对缺陷分析结果的精细度需求加入数个缺陷插入点,然后在系统程序运行过程中在上述各缺陷插入点处产生缺陷管理信息,并对此管理信息进行监控,以收集相关的系统缺陷数据,最后通过系统缺陷分析准则的程序实时分析所收集到的系统缺陷数据,借以获得造成系统错误的最小缺陷集合并实时记录到系统日志中,同时回报给用户。

Description

一种快速诊断系统软件缺陷的系统及方法
技术领域
本发明涉及一种诊断系统软件缺陷的系统及方法,特别是涉及一种对导致系统错误的系统程序缺陷进行快速定位并向用户回馈的系统及方法。
背景技术
目前,一个OS(Operating System,操作系统)中可能会出现各种的问题,比如硬件损坏、配置错误、软件缺陷(bug)等,在面对各种使用者的需求时,软件设计者必须要先了解清楚使用者的需要,然后进行软件需求的规划,其次定义软件的系统模式,再以树形图将每一项功能模式的关系表达清楚,以确定不同功能模式间的影响程度、数据来源与安全性等,接着软件设计者便开始构建各功能模式的主题架构,然后针对每一功能模式作细部规划,规划完成后,则开始进行实际的程序代码编写,此时必需依据主题架构与细部设计所构建的各功能模式来编写程序代码,以求软件的功能达到使用者的要求,当软件的程序代码编写完成以后,必须进行软件缺陷的诊断,其次是诊断程序执行的结果是否符合原先设计的要求,此时,软件设计者必需判断每一项单独功能模式的输入与输出的数据是否符合原来的要求,除此之外,系统的整体表现也要加以诊断,即使功能合乎需求,若执行速度非常慢,则此软件也无法满足使用者的需求。
在软件程序的编码及缺陷诊断的过程中,最繁琐的步骤即为除错步骤,软件设计者必须了解软件中的每一项缺陷,并以最简捷的步骤快速诊断出软件的缺陷,所以软件设计者通常要依据本身的经验,针对经常遇到的缺陷进行软件程序的诊断,若是,无法全面地诊断出软件的所有缺陷,结果往往会导致当软件设计者将软件送交给软件使用者使用时,在使用者对软件进行测试的过程中,经常会发现很多之前没有诊断到的软件缺陷。另外,如果软件设计者针对软件的每一项功能逐一进行诊断,又会浪费许多时间,而且,若只是针对每一项功能进行诊断,将无法对软件的整体功能作出较为完整的诊断,有些情况下,有经验的软件测试者可以很快定位问题或缺陷的症结所在,但是有些情况下,即使是有经验的软件测试者也需要几个小时甚至数天时间才能准确定位软件中的问题或缺陷所在,这样,无疑会延长诊断软件故障或缺陷的时间,增加了软件维护、更新的成本。
发明内容
本发明的目的在于提供一种快速诊断系统软件缺陷的系统及方法,用以对导致系统错误(error)的系统程序缺陷(fault)进行快速定位并向用户回馈,解决上述公知技术中的问题。
本发明所提供的一种快速诊断系统软件缺陷的系统的较佳方案之一,包含:一个操作系统单元、数个功能模块、一个硬件单元、一个缺陷监控模块、一个缺陷分析模块及一个最小缺陷集合记录回馈模块,其中:
操作系统单元,用以在系统中写入系统缺陷分析准则的程序,并在系统的程序模块中依照对缺陷分析结果的精细度需求加入数个缺陷插入点;上述各功能模块,用以将系统程序运行过程中在上述各功能模块的缺陷插入点处产生的缺陷管理信息传输至上述缺陷监控模块;硬件单元,通过上述操作系统单元传输系统程序运行过程中硬件单元的缺陷插入点产生的缺陷管理信息至上述缺陷监控模块;缺陷监控模块,用以接收操作系统单元及上述各功能模块所传输的缺陷管理信息,且监控此缺陷管理信息,并收集相关的系统缺陷数据传输给缺陷分析模块;缺陷分析模块,通过系统缺陷分析准则的程序实时分析所收集到的系统缺陷数据,借以获得造成系统错误的最小缺陷集合;以及最小缺陷集合记录回馈模块,用以将上述最小缺陷集合实时记录到系统日志中,并回报给用户。
其中上述缺陷分析模块通过系统缺陷分析准则的程序对系统中运行着的多个程序任务进行分组,并将从上述各缺陷插入点收集的缺陷数据依照上述程序任务的分组进行分类汇总,且依照系统缺陷分析准则得到单个任务的最小缺陷集合,然后依据系统中各程序任务的调用关系拓扑结构以及对各单个任务的最小缺陷集合的分析结果,再次依照系统缺陷分析准则过滤并选择得出当前系统缺陷的最小缺陷集合。其中上述系统缺陷分析准则为:显示所有相关缺陷、显示所有根源缺陷及显示首个关键缺陷。此外,当其中的单个程序任务中出现多个缺陷时,则初始出现的缺陷为此单个程序任务的关键缺陷。
本发明所提供的一种快速诊断系统软件缺陷的方法,包含以下步骤:
预先设定并在系统中写入系统缺陷分析准则的程序;在系统的程序模块中依照对缺陷分析结果的精细度需求加入数个缺陷插入点;系统程序运行过程中在上述各缺陷插入点处产生缺陷管理信息;对此缺陷管理信息进行监控,并收集相关的系统缺陷数据;通过上述系统缺陷分析准则的程序实时分析所收集到的系统缺陷数据,借以获得造成系统错误的最小缺陷集合;以及将此最小缺陷集合实时记录到系统日志中,并回报给用户。
上述本发明所提供的一种快速诊断系统软件缺陷的方法,进一步包含以下步骤:
对上述系统中运行着的多个程序任务进行分组;将从上述各缺陷插入点收集的缺陷数据依照上述程序任务的分组进行分类汇总,并依照系统缺陷分析准则得到单个任务的最小缺陷集合;以及依据系统中各程序任务的调用关系拓扑结构以及对各单个任务的最小缺陷集合的分析结果,再次依照系统缺陷分析准则过滤并选择得出当前系统缺陷的最小缺陷集合。
此外,上述系统缺陷分析准则为:显示所有相关缺陷、显示所有根源缺陷及显示首个关键缺陷。另外,当其中的单个程序任务中出现多个缺陷时,则初始出现的缺陷为此单个程序任务的关键缺陷。
综上所述,本发明的优点在于:
本发明所提供的一种快速诊断系统软件缺陷的系统及方法,用以对导致系统错误的系统程序缺陷进行快速定位并向用户回馈,其通过预先写入系统的系统缺陷分析准则的程序以及在系统的程序模块中依照对缺陷分析结果的精细度需求所加入的多个缺陷插入点,借以在系统程序运行过程中收集各缺陷插入点处产生的缺陷管理信息及相关的系统缺陷数据,并依据系统缺陷分析准则得到造成系统错误的最小缺陷集合,因而,实现了辅助系统软件测试人员及软件用户快速定位导致系统错误或故障的软件程序缺陷的根源所在,进而大大提高了公知技术中诊断系统软件缺陷的效率,有助于简化公知技术中定位系统故障的难度,减少系统错误定位所消耗的时间。
下面结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明的一种快速诊断系统软件缺陷的系统的系统方块图;
图2为本发明中多个程序任务的拓扑结构关系图;
图3为本发明的一种快速诊断系统软件缺陷的方法的方法流程图;以及
图4为图3所示的方法中一个步骤的步骤分解流程图。
其中,附图标记:
10    硬件单元
20    操作系统单元
30    功能模块
40    缺陷插入点
50    缺陷监控模块
60    缺陷分析模块
70    最小缺陷集合记录回馈模块
80    操作系统
步骤200依据用户需求,预先设定并在系统中写入系统缺陷分析准则的程序
步骤201在系统的程序模块中依照用户对缺陷分析结果的精细度需求加入数个缺陷插入点
步骤202系统程序运行过程中在各缺陷插入点处产生缺陷管理信息
步骤203监控此缺陷管理信息,并收集相关的系统缺陷数据
步骤204通过系统缺陷分析准则的程序实时分析所收集到的系统缺陷数据,借以获得造成系统错误的最小缺陷集合
步骤205将此最小缺陷集合实时记录到系统日志中,并回报给用户
步骤2041对系统中运行着的多个程序任务进行分组
步骤2042将从各缺陷插入点收集的缺陷数据依照程序任务的分组进行分类汇总,并依照系统缺陷分析准则得到单个任务的最小缺陷集合
步骤2043依据系统中各程序任务的调用关系拓扑结构以及对各单个任务的最小缺陷集合的分析结果,再次依照系统缺陷分析准则过滤并选择得出当前系统缺陷的最小缺陷集合
实施方式
以下,将结合图式部分对本发明的较佳实施方式作详细说明。
请参考图1,图中表示了本发明的一种快速诊断系统软件缺陷的系统的系统方块图,用以对导致系统错误的系统程序缺陷进行快速定位并向用户回馈,此系统包含:操作系统单元20、数个功能模块30、硬件单元10、缺陷监控模块50、缺陷分析模块60及最小缺陷集合记录回馈模块70,其中:
操作系统单元20,用以在系统中写入系统缺陷分析准则的程序,并在系统的程序模块中依照用户对缺陷分析结果的精细度需求加入多个缺陷插入点40;上述各功能模块30,可以将系统程序运行过程中在各功能模块30的缺陷插入点40处产生的缺陷管理信息传输至缺陷监控模块50;硬件单元10可借助例如中断(interrupt)方式通过操作系统单元20将系统程序运行过程中硬件单元的缺陷插入点40处产生的缺陷管理信息传输至缺陷监控模块50;缺陷监控模块50,用以接收操作系统单元20及各功能模块30所传输的缺陷管理信息,且监控此缺陷管理信息,并收集相关的系统缺陷数据传输给缺陷分析模块60;缺陷分析模块60,通过系统缺陷分析准则的程序实时分析所收集到的系统缺陷数据,借以获得造成系统错误的最小缺陷集合;以及最小缺陷集合记录回馈模块70,用以将上述最小缺陷集合实时记录到系统日志中,并回报给用户。
其中上述缺陷分析模块60通过系统缺陷分析准则的程序对系统中运行着的多个程序任务进行分组,并将从上述各缺陷插入点40收集的缺陷数据依照上述程序任务的分组进行分类汇总,且依照系统缺陷分析准则得到单个任务的最小缺陷集合,其中获得单个任务的最小缺陷集合的过程举例如下:
假设某个程序任务OAM_xxx1,其内部需要调用三个步骤,如果这三个步骤要求逐步成功执行,对此任务我们可以得到如下表格中所示的缺陷信息汇总:
->Job:OAM_xxx1,Start,PID:26,JobID:0012-3242-234234-234234,AllStep:3->Job:OAM_xxx1,process,Step:1,begin,JobID:0012-3242-234234-234234<u>->Module:HDD_module,PID:26。File:hdd_write.c,Func:hdd_write_a_block,</u><u>Line:596.Error_message:write hdd2 error!</u>->Job:OAM_xxx1,process,Step:1,end,JobID:0012-3242-234234-234234->Job:OAM_xxx1,process,Step:2,begin,JobID:0012-3242-234234-234234->Module:LVM_module,PID:26,File:lvm_create.c,Func:lvm_create_inner,Line:596,Error_message:lvm4 create error!->Job:OAM_xxx1,process,Step:2,end,JobID:0012-3242-234234-234234->Job:OAM_xxx1,process,Step:3,begin,JobID:0012-3242-234234-234234->Module:RAID_module,PID:26,File:raid_write.c,Func:raid_write_a_block,Line:596.Errormessage:RAID write a block come to an error!->Module:RAID_module,PID:26,File:raid_write.c,Func:raid_write_a_block,Line:666,Error_message:RAID write_a_block free memory error!->Module:RAID_module,PID:26,File:raid_write.c,Func:hdd_write,Line:256,Error_message:Raid write error!->Job:OAM_xxx1,process,Step:3,end,JobID:0012-3242-234234-234234->Job:OAM_xxx1,Stop,PID:26,JobID:0012-3242-234234-234234
那么我们依据系统缺陷分析准则通过分析上面表格中所示的缺陷信息汇总就可以得到这个任务的最小缺陷集合如下:
->Module:HDD_module,PID:26,File:hdd_write.c,Func:hdd_write_a_block,Line:596,Error_message:write hdd2 error!
当然单个任务的最小缺陷集合的具体表现形式并不一定要与上面所述的一致,采用上述形式只是从功能上来说较为简单的说明而已,当然,有可能用户希望得到这个任务中的所有缺陷或错误信息,对于这种情况,则可以依据用户需要通过预先配置系统缺陷分析准则得以实现。
接下来,对于多个程序任务的系统缺陷的最小缺陷集合是以上述单个任务的最小缺陷集合作为基础生成的,同时还要依据系统中多个程序任务的调用关系拓扑结构,才能使得当前系统的最小缺陷集合的生成成为可能。如图2所示,为本发明中多个程序任务的拓扑结构关系图,其中缺陷分析模块60通过系统缺陷分析准则的程序先对操作系统80中运行着的多个程序任务进行分组,可先将操作系统80分为多个程序任务,例如:任务1、任务2及任务3,然后再对单个任务:任务1、任务2及任务3依次进行分组,将任务1分为任务4与任务5,任务2分为任务6与任务7,任务3分为任务8,最后任务4又可分为任务9,由此便形成了多个程序任务的拓扑结构关系图。然后,依据此系统中各程序任务的调用关系拓扑结构以及对各单个任务的最小缺陷集合的分析结果,再次依照系统缺陷分析准则过滤选择出根本缺陷,便可较为正确地得出当前系统缺陷的最小缺陷集合。此外,还需特别说明的是,多个程序任务的最小缺陷集合的生成需要建立在对基础源代码进行扫描的基础之上才能得以实现。
现将举例加以说明,假设图2中所示的任务1、4、5、9可能具有以下的执行逻辑结构:
---任务1----
Fault_occurred_1_in_task_1
Task_4
Fault_occurred_2_in_task_2
Task_5
--------------
---任务4----
Fault_occurred_1_in_task_4
Task_9
Fault_occurred_2_in_task_4
--------------
---任务5----
Fault_occurred_1_in_task_5
Fault_occurred_2_in_task_5
------------
---任务9----
Fault_occurred_1_in_task_9
Fault_occurred_2_in_task_9
对于因出现不同的缺陷而存在多种筛选缺陷的可能的情况,原则上来说,在定制系统缺陷分析准则时,针对单一程序任务中出现多个缺陷的情况,则初始出现的缺陷应当定义为此程序任务的关键缺陷。
举例如下:
对于上面列出的任务1、4、5、9中出现的缺陷,如果同时出现如下缺陷:
Fault_occurred_1_in_task_9
Fault_occurred_2_in_task_4
Fault_occurred_2_in_task-5
我们可以确定关键缺陷应为:Fault_occurred_1_in_task_9,则可以得出任务1、4、5、9的最小缺陷集合为此关键缺陷。对于某些情况下,用户有可能希望将上述所举三个缺陷的总和作为最小缺陷集合,对于此种情形,则可以依据用户需要通过预先配置系统缺陷分析准则得以实现。
此外,我们还可以利用如下所述的编码原则来判断和得出导致系统错误的系统程序缺陷的最小缺陷集合,假设一系统提供的API(ApplicationProgramming Interface,应用程序设计接口)名为:_interface_1,而此接口内部调用了三个模块的接口:
_raid_mod_interface_x;
_lvm_mod_interface_y;
_hdd_mod_interface_z,并且具有一些自身的处理流程。在API接口_interface_1自身的处理流程以及_raid_mod_interface_x、_lvm_mod_interface_y、_hdd_mod_interface_z中都可能存在缺陷(fault),我们假设在这个API接口_interface_1中依据程序处理的先后顺序产生了如下表格中所示的缺陷信息:
  序号   模块名   引起此缺陷的模块名   文件名   函数名   行数
  1   raid_mod_interface_x_sub_mod_1   NULL   Raid_sub.c   Func1   404
  2   raid_mod_interface_x   raid_mod_interface_x_sub_mod_1   Raid.c   Func2   202
  3   _interface   raid_mod_interface_x   Api.c   Interface_1   100
  4   _interface   NULL   Api.c   Interface_1   110
  5   _interface   NULL   Api.c   Interface_1   120
  6   hdd_mod_interface_z_sub_mod2   NULL   Hdd_sub.c   Func3   500
  7   hdd_mod_interface_z   hdd_mod_interface_z_sub_mod2   Hdd.c   Func4   300
  8   _interface   hdd_mod_interface_z   Api.c   Interface_1   160
这样,根据上面表格中所列出的缺陷信息,我们便可以依据系统缺陷分析准则的设置来得出所需要的系统缺陷分析的结果。如果系统缺陷分析准则预先设置为只给初引起系统故障或错误的首要关键缺陷的话,那么我们可以在系统中预先写入一个系统缺陷分析准则的程序或配置档案,以归纳出用户所需要的系统缺陷分析的结果,其中,系统缺陷分析准则至少可以为以下三种方式之一或者其结合:1、显示所有相关缺陷;2、显示所有根源缺陷;3、显示首个关键缺陷。如果采用第一种方式,对于上面给出的例子,所得到的最小缺陷集合就是上表中所列的全部缺陷信息;如果采用第二种和/或第三种方式,则需要先进行如下进一步分析:
1、缺陷3、4、5、8是在API接口中给出的缺陷(因为模块名为_interface,因此是API接口_interface_1所在的模块)。
2、而其中4、5两个缺陷是在这个接口自身内部处理产生的,因为其引起此缺陷的模块名为:NULL,NULL(零)值说明造成这个缺陷的原因为模块自身。
3、依据模块名和引起缺陷的模块名这两项,我们可以很容易地得出,缺陷1、2、3实际上是一个缺陷,导致这个缺陷的根本原因是在raid的子模块raid_mod_interface_x_sub_mod_1中Raid_sub.c的Func1函数中行数为404的那一行,由于某种原因造成的,而第2个和第3个缺陷都是由于第1个缺陷所形成的,所以对于第二种和/或第三种方式在这里就需要进行缺陷信息的合并,以合并这三个缺陷(缺陷1、2、3)为缺陷1。
4、对于缺陷6、7、8与上述对缺陷1、2、3的分析处理相同,在此不再赘述。
其中对于第二种情况,合并后得到的缺陷的序号集合为{1,4,5,6},此最小缺陷集合依据所有根源缺陷产生的先后顺序得出。而对于第三种情况,上述经过分析得出的缺陷集合{1,4,5,6}中的缺陷1即是我们所需要的首个关键缺陷,因而,可以得出最小缺陷集合为缺陷1。在上述系统中可能会产生很多缺陷,而模块和模块间的调用错综复杂,有时一个模块可能被几个不同的API接口所调用,因此,我们可依据以下方式对这些缺陷进行区分:
1、利用所存在的一个模块间的调用关系拓扑图,以便对模块中的缺陷追溯起到指示作用,再通过模块名和引起此缺陷的模块名进行模块拓扑结构关系的说明。
2、为每个缺陷都分配一个当前进程ID(Identification,标识)号,依据此ID号,可知道每个缺陷最终隶属于哪一个API调用,因此很容易便可以将所有隶属于这个API调用的相关缺陷集结起来以便于分析处理。
现在请参考图3,此图为本发明的一种快速诊断系统软件缺陷的方法的方法流程图,如图所示,本发明的快速诊断系统软件缺陷的方法包含以下步骤:
依据用户需求,预先设定并在系统中写入系统缺陷分析准则的程序(步骤200);在系统的程序模块中依照用户对缺陷分析结果的精细度需求加入数个缺陷插入点(步骤201);系统程序运行过程中在上述各缺陷插入点处产生缺陷管理信息(步骤202);监控此缺陷管理信息,并收集相关的系统缺陷数据(步骤203);通过上述系统缺陷分析准则的程序实时分析所收集到的系统缺陷数据,借以获得造成系统错误的最小缺陷集合(步骤204);将此最小缺陷集合实时记录到系统日志中,并回报给用户(步骤205)。
其中,如图4所示,上述本发明的一种快速诊断系统软件缺陷的方法中的步骤204中,可进一步包含以下步骤:
对上述系统中运行着的多个程序任务进行分组(步骤2041);将从上述各缺陷插入点收集的缺陷数据依照上述程序任务的分组进行分类汇总,并依照系统缺陷分析准则得到单个任务的最小缺陷集合(步骤2042);以及依据系统中各程序任务的调用关系拓扑结构以及对各单个任务的最小缺陷集合的分析结果,再次依照系统缺陷分析准则过滤并选择得出当前系统缺陷的最小缺陷集合(步骤2043)。其中,上述系统缺陷分析准则可为:显示所有相关缺陷、显示所有根源缺陷及显示首个关键缺陷的三种方式之一或者其结合。
此外,当上述单个程序任务中出现多个缺陷时,则初始出现的缺陷可定义为此单个程序任务的关键缺陷。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (8)

1.一种快速诊断系统软件缺陷的系统,用以对导致系统错误的系统程序缺陷进行快速定位并向用户回馈,其特征在于,该系统包含:一操作系统单元、数个功能模块、一硬件单元、一缺陷监控模块、一缺陷分析模块及一最小缺陷集合记录回馈模块,其中,
该操作系统单元,用以在系统中写入一系统缺陷分析准则的程序,并在系统的程序模块中依照对缺陷分析结果的精细度需求加入数个缺陷插入点;
所述功能模块,用以将系统程序运行过程中在所述功能模块的缺陷插入点处产生的缺陷管理信息传输至该缺陷监控模块;
该硬件单元,通过该操作系统单元传输系统程序运行过程中硬件单元的缺陷插入点产生的缺陷管理信息至该缺陷监控模块;
该缺陷监控模块,用以接收该操作系统单元及所述功能模块所传输的缺陷管理信息,且监控该缺陷管理信息,并收集相关的系统缺陷数据传输给缺陷分析模块;
该缺陷分析模块,通过该系统缺陷分析准则的程序实时分析所收集到的该系统缺陷数据,借以获得造成系统错误的最小缺陷集合;以及
该最小缺陷集合记录回馈模块,用以将该最小缺陷集合实时记录到系统日志中,并回报给用户。
2.根据权利要求1所述的快速诊断系统软件缺陷的系统,其特征在于,该缺陷分析模块通过该系统缺陷分析准则的程序对该系统中运行着的多个程序任务进行分组,并将从所述缺陷插入点收集的缺陷数据依照所述程序任务的分组进行分类汇总,且依照系统缺陷分析准则得到单个任务的最小缺陷集合,然后依据系统中各程序任务的调用关系拓扑结构以及对各单个任务的最小缺陷集合的分析结果,再次依照系统缺陷分析准则过滤并选择得出该系统软件缺陷的最小缺陷集合。
3.根据权利要求2所述的快速诊断系统软件缺陷的系统,其特征在于,该系统缺陷分析准则为:显示所有相关缺陷、显示所有根源缺陷及显示首个关键缺陷。
4.根据权利要求3所述的快速诊断系统软件缺陷的系统,其特征在于,当单个程序任务中出现多个缺陷时,则初始出现的缺陷为该单个程序任务的关键缺陷。
5.一种快速诊断系统软件缺陷的方法,用以对导致系统错误的系统程序缺陷进行快速定位并向用户回馈,其特征在于,该方法包含以下步骤:
预先设定并在系统中写入一系统缺陷分析准则的程序;
在系统的程序模块中依照对缺陷分析结果的精细度需求加入数个缺陷插入点;
系统程序运行过程中在所述缺陷插入点处产生缺陷管理信息;
监控该缺陷管理信息,并收集相关的系统缺陷数据;
通过该系统缺陷分析准则的程序实时分析所收集到的该系统缺陷数据,借以获得造成系统错误的最小缺陷集合;以及
将该最小缺陷集合实时记录到系统日志中,并回报给用户。
6.根据权利要求5所述的快速诊断系统软件缺陷的方法,其特征在于,进一步包含以下步骤:
对该系统中运行着的多个程序任务进行分组;
将从所述缺陷插入点收集的缺陷数据依照所述程序任务的分组进行分类汇总,并依照系统缺陷分析准则得到单个任务的最小缺陷集合;以及
依据系统中各程序任务的调用关系拓扑结构以及对各单个任务的最小缺陷集合的分析结果,再次依照系统缺陷分析准则过滤并选择得出该当前系统软件缺陷的最小缺陷集合。
7.根据权利要求6所述的快速诊断系统软件缺陷的方法,其特征在于,该系统缺陷分析准则为:显示所有相关缺陷、显示所有根源缺陷及显示首个关键缺陷。
8.根据权利要求7所述的快速诊断系统软件缺陷的方法,其特征在于,当单个程序任务中出现多个缺陷时,则初始出现的缺陷为该单个程序任务的关键缺陷。
CN2007101638397A 2007-09-30 2007-09-30 一种快速诊断系统软件缺陷的系统及方法 Expired - Fee Related CN101398781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101638397A CN101398781B (zh) 2007-09-30 2007-09-30 一种快速诊断系统软件缺陷的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101638397A CN101398781B (zh) 2007-09-30 2007-09-30 一种快速诊断系统软件缺陷的系统及方法

Publications (2)

Publication Number Publication Date
CN101398781A CN101398781A (zh) 2009-04-01
CN101398781B true CN101398781B (zh) 2010-11-10

Family

ID=40517353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101638397A Expired - Fee Related CN101398781B (zh) 2007-09-30 2007-09-30 一种快速诊断系统软件缺陷的系统及方法

Country Status (1)

Country Link
CN (1) CN101398781B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096635A (zh) * 2011-02-24 2011-06-15 北京播思软件技术有限公司 一种软件缺陷的准确定位方法
CN102866016B (zh) * 2012-10-18 2015-07-22 徐州重型机械有限公司 移动起重机发动机故障快速诊断仪以及诊断方法
CN103049373B (zh) 2012-11-29 2015-08-19 北京奇虎科技有限公司 一种崩溃的定位方法和装置
CN105447102B (zh) * 2015-11-12 2019-06-14 中国科学院软件研究所 基于数据驱动的开源操作系统威胁状态可视化系统与方法
CN108710563B (zh) * 2018-05-16 2022-03-01 广州市千钧网络科技有限公司 一种应用程序日志记录方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0403415A3 (en) * 1989-06-16 1991-12-11 International Business Machines Corporation System and method for detecting and diagnosing errors in a computer program
CN1477505A (zh) * 2002-08-24 2004-02-25 深圳市中兴通讯股份有限公司 嵌入式操作系统中异常故障定位方法
CN1991785A (zh) * 2005-12-27 2007-07-04 国际商业机器公司 用于分析运行时存储器访问错误的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0403415A3 (en) * 1989-06-16 1991-12-11 International Business Machines Corporation System and method for detecting and diagnosing errors in a computer program
CN1477505A (zh) * 2002-08-24 2004-02-25 深圳市中兴通讯股份有限公司 嵌入式操作系统中异常故障定位方法
CN1991785A (zh) * 2005-12-27 2007-07-04 国际商业机器公司 用于分析运行时存储器访问错误的方法和系统

Also Published As

Publication number Publication date
CN101398781A (zh) 2009-04-01

Similar Documents

Publication Publication Date Title
US20090132860A1 (en) System and method for rapidly diagnosing bugs of system software
JP6828096B2 (ja) サーバハードウェア障害の分析及びリカバリ
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
US6892236B1 (en) System and method of generating computer system performance reports
US8024713B2 (en) Using ghost agents in an environment supported by customer service providers
CN101398781B (zh) 一种快速诊断系统软件缺陷的系统及方法
US7398511B2 (en) System and method for providing a health model for software
JP2022028619A (ja) 製造システムにおける故障の根本原因分析用の故障拡張システムモデルを構築するためのシステム及び方法
WO2019061364A1 (zh) 故障分析方法及相关设备
CN111913824B (zh) 确定数据链路故障原因的方法及相关设备
Addouche et al. UML models for dependability analysis of real-time systems
CN116954624A (zh) 基于软件开发包的编译方法、软件开发系统及服务器
KR20210138933A (ko) 소프트웨어 개발 및 테스트 자동화 프레임워크
CN116541728A (zh) 一种基于密度聚类的故障诊断方法及装置
CN116467188A (zh) 一种多环境场景下的通用本地复现系统和方法
US9354962B1 (en) Memory dump file collection and analysis using analysis server and cloud knowledge base
KR20030056301A (ko) 시스템 장애 통합관리방법
Moran et al. System availability monitoring
CN113900902A (zh) 日志处理方法、装置、电子设备及存储介质
CN113282496A (zh) 接口自动测试方法、装置、设备及存储介质
CN114245895A (zh) 为至少两个日志文件生成一致表示的方法
CN113742113A (zh) 一种嵌入式系统健康管理方法、设备及储存介质
CN114138677B (zh) 测试方法及装置、测试系统、电子设备
CN111208993B (zh) 一种流程化数据分析处理系统
Kola et al. A client-centric grid knowledgebase

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101110

Termination date: 20150930

EXPY Termination of patent right or utility model