US20090132860A1 - System and method for rapidly diagnosing bugs of system software - Google Patents
System and method for rapidly diagnosing bugs of system software Download PDFInfo
- Publication number
- US20090132860A1 US20090132860A1 US11/943,985 US94398507A US2009132860A1 US 20090132860 A1 US20090132860 A1 US 20090132860A1 US 94398507 A US94398507 A US 94398507A US 2009132860 A1 US2009132860 A1 US 2009132860A1
- Authority
- US
- United States
- Prior art keywords
- fault
- program
- module
- minimum
- task
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/366—Debugging of software using diagnostics
Definitions
- the present invention relates to a system and a method for rapidly diagnosing bugs of system software, and more particularly to a system and a method for rapidly localizing a system program fault that causes a system error and then feeding back to a subscriber.
- OS operating system
- a software designer has to be clear about a user's demands, then plans the software requirements, defines the system mode of the software, and then expresses the relation between each functional mode by means of a tree diagram, so as to identify and determine the impacts, data source, and safety between different functional modes.
- the software designer starts to work on the main architecture of each functional mode, and then plans and designs each functional mode in details.
- the software designer starts writing program codes, and the program codes must be written according to the functional modes established based upon the theme architecture and detailed design, so as to make the function of the software meet the user's requirements.
- the software designer must detect every bug in the software, and rapidly diagnose the software bugs in the simplest way. Therefore, the software designer usually diagnoses the common faults of the software program according to his/her own experience. If the software designer fails to diagnose all the bugs in the software, once the software is submitted to the user, many undiagnosed software bugs may occur during the test of the software conducted by the user. Further, it takes plenty of time for the software designer to diagnose the functions of the software one by one. Moreover, if only each single function of the software is diagnosed, the whole performance of the software cannot be fully diagnosed. In some circumstances, an experienced software tester can quickly localize the cause of a problem or fault. However, sometimes, even the experienced tester has to spend hours or days on precisely localizing the cause of a problem or fault in a software. Therefore, the time for diagnosing software failures or bugs is prolonged, so the cost for maintenance and update of the software is increased.
- the present invention is directed to a system and a method for rapidly diagnosing bugs of system software, applicable for rapidly localizing a system program fault that causes a system error and feeding back to a subscriber.
- a system for rapidly diagnosing bugs of system software includes: an operating system unit, a plurality of functional modules, a hardware unit, a fault monitoring module, a fault analysis module, and a minimum fault set record and feedback module.
- the operating system unit is used for writing a program of system fault analysis standard into the system, and adding a plurality of fault insertion points into a program module of the system according to the requirement for precision of fault analysis result.
- the functional modules are used for transmitting fault management information generated at the fault insertion points of the functional modules during a running process of a system program to the fault monitoring module.
- the hardware unit is used for transmitting fault management information generated at the fault insertion point of a hardware program module during the running process of the system program to the fault monitoring module via the operating system unit.
- the fault monitoring module is used for receiving the fault management information transmitted by the operating system unit and the functional modules, monitoring the fault management information, and collecting relevant system fault data for being transmitted to the fault analysis module.
- the fault analysis module is used for analyzing in real time the collected system fault data through the program of system fault analysis standard, so as to obtain a minimum fault set for causing the system error.
- the minimum fault set record and feedback module is used for recording the minimum fault set into the system log in real time, and feeding back to the subscriber.
- the fault analysis module groups a plurality of program tasks running in the system via the program of system fault analysis standard; sorts and gathers the fault data collected at the fault insertion points according to different groups of the program tasks; obtains a minimum fault set for a single task according to the system fault analysis standard; and filters and selects a minimum fault set for the current system according to the system fault analysis standard based upon a topological structure of call relation of the program tasks in the system and the analysis result of the minimum fault set for each single task.
- the system fault analysis standard is: showing all relevant faults, showing all root faults, and showing an initial critical fault. Moreover, when a plurality of faults appears in a single program task, the initial fault is taken as a critical fault for the single program task.
- a method for rapidly diagnosing bugs of system software includes the following steps: presetting and writing a program of system fault analysis standard into the system; adding a plurality of fault insertion points into a program module of the system according to the requirement for the precision of the fault analysis result; generating fault management information at the fault insertion points during a running process of a system program; monitoring the fault management information, and collecting relevant system fault data; analyzing in real time the collected system fault data through the program of system fault analysis standard, so as to obtain a minimum fault set for causing the system error; and recording the minimum fault set into the system log in real time, and feeding back to the subscriber.
- a method for rapidly diagnosing bugs of system software further includes the following steps: grouping a plurality of program tasks running in the system; sorting and gathering the fault data collected at the fault insertion points according to different groups of the program tasks, and obtaining a minimum fault set for a single task according to the system fault analysis standard; and filtering and selecting a minimum fault set for the current system according to the system fault analysis standard based upon a topological structure of call relation of the program tasks in the system and the analysis result of the minimum fault set for each single task.
- the system fault analysis standard is: showing all relevant faults, showing all root faults, and showing an initial critical fault. Furthermore, when a plurality of faults appears in a single program task, the initial fault is taken as a critical fault for the single program task.
- the advantage of the present invention is as follows.
- the system and method for rapidly diagnosing bugs of system software are capable of rapidly localizing a system program fault that causes a system error and feeding back to a subscriber.
- a program of system fault analysis standard is preset and written into the system, and a plurality of fault insertion points is added into a program module of the system according to the requirement for the precision of the fault analysis result, so as to collect fault management information generated at the fault insertion points during the running process of the system program and relevant system fault data, and to obtain the minimum fault set for causing the system error according to the system fault analysis standard.
- the present invention can assist system software testers and software subscribers to rapidly localize the source of the software program fault that causes a system error or failure, thus greatly enhancing the efficiency for diagnosing bugs of system software, alleviating the difficulty in difficulty in localizing the system failure in the conventional art, and shortening the time spent on localizing the system error.
- FIG. 1 is a block diagram of a system for rapidly diagnosing bugs of system software according to the present invention
- FIG. 2 is a graph showing the topological structure relation of a plurality of program tasks in the present invention
- FIG. 3 is a flow chart of a method for rapidly diagnosing bugs of system software according to the present invention.
- FIG. 4 is a flow chart of sub-steps for a single step in the method shown in FIG. 3 .
- FIG. 1 it is a block diagram of a system for rapidly diagnosing bugs of system software according to the present invention.
- the system is applicable for rapidly localizing a system program fault that causes a system error and feeding back to a subscriber.
- the system includes an operating system unit 20 , a plurality of functional modules 30 , a hardware unit 10 , a fault monitoring module 50 , a fault analysis module 60 , and a minimum fault set record and feedback module 70 .
- the operating system unit 20 is used for writing a program of system fault analysis standard into the system, and adding a plurality of fault insertion points 40 into a program module of the system according to the requirement for the precision of the fault analysis result.
- the functional modules 30 are used for transmitting fault management information generated at the fault insertion points 40 of the functional modules 30 during the running process of the system program to the fault monitoring module 50 .
- the hardware unit 10 is used for transmitting fault management information generated at the fault insertion point 40 of a hardware program module during the running process of the system program to the fault monitoring module 50 via the operating system unit 20 in an interrupt mode.
- the fault monitoring module 50 is used for receiving the fault management information transmitted by the operating system unit 20 and the functional modules 30 , monitoring the fault management information, and collecting relevant system fault data for being transmitted to the fault analysis module 60 .
- the fault analysis module 60 is used for analyzing in real time the collected system fault data through the program of system fault analysis standard, so as to obtain a minimum fault set for causing the system error.
- the minimum fault set record and feedback module 70 is used for recording the minimum fault set into the system log in real time, and feeding back to the subscriber.
- the fault analysis module 60 groups a plurality of program tasks running in the system via the program of system fault analysis standard; sorts and gathers the fault data collected at the fault insertion points 40 according to different groups of the program tasks; and obtains a minimum fault set for a single task according to the system fault analysis standard.
- the process of obtaining the minimum fault set for a single task is described as follows.
- a minimum fault set for the task can be obtained as follows:
- the specific expression of the minimum fault set for the single task does not have to be the same as the above, and the above expression is only taken as a simple illustration for the function.
- the subscriber may want to obtain all the fault or error information of the task, which can be achieved through the preset system fault analysis standard according to the subscriber's requirement.
- FIG. 2 is a graph showing the topological structure relation of a plurality of program tasks in the present invention.
- the fault analysis module 60 groups the plurality of program tasks running in the operating system 80 through the program of system fault analysis standard, and for example, the operating system 80 is divided into a plurality of program tasks, such as Task 1 , Task 2 , and Task 3 .
- each single task Task 1 , Task 2 , and Task 3 , is further grouped in sequence, such that Task 1 is divided into Task 4 and Task 5 , Task 2 is divided into Task 6 and Task 7 , Task 3 is divided into Task 8 , and finally Task 4 is divided into Task 9 , and thereby, a graph of the topological structure relation of a plurality of program tasks is obtained.
- the fundamental fault is filtered and selected according to the system fault analysis standard based upon a topological structure of call relation of the program tasks in the system and the analysis result of the minimum fault set for each single task.
- the minimum fault set of the plurality of program tasks should be generated based upon the scanning of the fundamental source code.
- Tasks 1 , 4 , 5 , 9 in FIG. 2 may have the following logic structures for execution:
- the critical fault should be: Fault_occurred_ 1 _in_task_ 9 , and the minimum fault set for Tasks 1 , 4 , 5 , 9 is the critical fault.
- the subscriber may want to take the sum of the above three faults as the minimum fault set, which can be achieved through the preset system fault analysis standard according to the subscriber's requirement.
- _interface_ 1 which calls interfaces of three modules:
- _hdd_mod_interface_z has some processing flows of its own.
- the processing flows of the API _interface_ 1 and _raid_mod_interface_x, _lvm_mod_interface_y, _hdd_mod_interface_z may all have faults. It is assumed that fault information as shown in the following table is generated in the API_interface_ 1 according to the program processing sequence:
- the desired result of the system fault analysis can be obtained through the system fault analysis standard according to the fault information listed in the above table.
- the system fault analysis standard is only preset for the initial critical fault that causes a system failure or error, a program or an allocation file of the system fault analysis standard is written into the system before hand, so as to conclude the result of the system fault analysis required by the subscriber.
- the system fault analysis standard is at least one of the following three modes or any combination thereof. 1. showing all relevant faults; 2. showing all root faults; 3. showing an initial critical fault. If the first mode is adopted for the above example, the obtained minimum fault set is all the fault information listed in the above table. If the second and/or third mode is adopted, the following circumstances should be analyzed first:
- Faults 3 , 4 , 5 , 8 are those faults occurring in the API interface (as the module name for Faults 3 , 4 , 5 , 8 is _interface, they occur in the module where the API _interface_ 1 belongs to).
- Faults 4 , 5 occur during the internal processing of the interface itself.
- module names for causing the faults are: NULL, NULL (0) indicates that the reason for causing the faults lies in the module itself.
- faults 1 , 2 , 3 are actually one fault.
- the basic reason for the fault lies in the line numbered 404 in the function Func 1 of Raid_sub.c in a sub-module raid_mod_interface_x_sub_mod_ 1 of raid caused by a certain reason.
- Faults 2 and 3 are caused by fault 1 , such that the fault information should be integrated for the second and/or third mode, so as to integrate the three faults (faults 1 , 2 , 3 ) into fault 1 .
- Faults 6 , 7 , 8 can be analyzed in the same way as faults 1 , 2 , 3 , and the details will not be described herein again.
- the serial number set of the faults after integration is ⁇ 1 , 4 , 5 , 6 ⁇
- the minimum fault set is generated according to the occurrence sequence for all the root faults.
- fault 1 in the above analyzed fault set ⁇ 1 , 4 , 5 , 6 ⁇ is the initial critical fault, so that the minimum fault set is fault 1 .
- Many faults may occur in the above system, and the call relation between the modules is complicated. Sometimes, one module may be called by several different APIs, so the faults may be classified in the following manner:
- a topological graph of the call relation between the modules is utilized to guide the fault tracing process in the module, and then the topological structure relation of the module is illustrated according to the module name and the module name that causes the fault.
- Each fault is allocated with a current progress ID number, and the particular API that finally calls the fault can be figured out according to the ID number, so it is easy to gather all the relevant faults called by this API for analysis.
- the method for rapidly diagnosing bugs of system software according to the present invention includes following steps: according to the subscriber's requirement, presetting and writing a program of system fault analysis standard into the system (Step 200 ); adding a plurality of fault insertion points into a program module of the system according to the requirement for the precision of the fault analysis result (Step 201 ); generating fault management information at the fault insertion points during a running process of a system program (Step 202 ); monitoring the fault management information, and collecting relevant system fault data (Step 203 ); analyzing in real time the collected system fault data through the program of system fault analysis standard, so as to obtain a minimum fault set for causing the system error (Step 204 ); and recording the minimum fault set into the system log in real time, and feeding back to the subscriber (Step 205 ).
- Step 204 in the above method for rapidly diagnosing bugs of system software further includes the following steps: grouping a plurality of program tasks running in the system (Step 2041 ); sorting and gathering the fault data collected at the fault insertion points according to different groups of the program tasks, and obtaining a minimum fault set for a single task according to the system fault analysis standard (Step 2042 ); and filtering and selecting a minimum fault set for the current system according to the system fault analysis standard based upon a topological structure of the call relation for the program tasks in the system and the analysis result of the minimum fault set for each single task (Step 2043 ).
- the system fault analysis standard is one mode of the following three modes or any combination thereof, namely, showing all relevant faults, showing all root faults, and showing an initial critical fault.
- the initial fault is taken as the critical fault for the single program task.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
A system and a method for rapidly diagnosing bugs of system software are apply for rapidly localizing a system program fault that causes a system error and then feeding back to a subscriber. First, according to the subscriber's requirement, a program of system fault analysis standard is preset and written into the system. Next, a plurality of fault insertion points is added into a program module of the system according to the subscriber's requirement for the precision of the fault analysis result. Then, fault management information is generated at the fault insertion points during the running process of the system program, and the management information is monitored for collecting relevant system fault data. After that, the collected system fault data is analyzed in real time through the program of system fault analysis standard, so as to obtain the minimum fault set for causing the system error.
Description
- 1. Field of the Invention
- The present invention relates to a system and a method for rapidly diagnosing bugs of system software, and more particularly to a system and a method for rapidly localizing a system program fault that causes a system error and then feeding back to a subscriber.
- 2. Related Art
- Currently, various problems may occur in an operating system (OS), such as damages of hardware, allocation errors, or software bugs. In order to cater to different users' different requirements, firstly, a software designer has to be clear about a user's demands, then plans the software requirements, defines the system mode of the software, and then expresses the relation between each functional mode by means of a tree diagram, so as to identify and determine the impacts, data source, and safety between different functional modes. Next, the software designer starts to work on the main architecture of each functional mode, and then plans and designs each functional mode in details. After the planning and designing process, the software designer starts writing program codes, and the program codes must be written according to the functional modes established based upon the theme architecture and detailed design, so as to make the function of the software meet the user's requirements. After encoding, software bugs should be diagnosed, and then it is diagnosed whether the execution result of a program meets the original design requirement. At this time, the software designer must determine whether the input and output data of each functional mode meets the original requirement or not. Besides, the whole performance of the system should also be diagnosed. Even if the function of the software is satisfactory, but its executing is satisfactory, but its executing speed is very slow, the software still cannot meet the user's requirement.
- During the encoding and fault diagnosis of a software program, the most complicated step is debugging. The software designer must detect every bug in the software, and rapidly diagnose the software bugs in the simplest way. Therefore, the software designer usually diagnoses the common faults of the software program according to his/her own experience. If the software designer fails to diagnose all the bugs in the software, once the software is submitted to the user, many undiagnosed software bugs may occur during the test of the software conducted by the user. Further, it takes plenty of time for the software designer to diagnose the functions of the software one by one. Moreover, if only each single function of the software is diagnosed, the whole performance of the software cannot be fully diagnosed. In some circumstances, an experienced software tester can quickly localize the cause of a problem or fault. However, sometimes, even the experienced tester has to spend hours or days on precisely localizing the cause of a problem or fault in a software. Therefore, the time for diagnosing software failures or bugs is prolonged, so the cost for maintenance and update of the software is increased.
- In order to solve the above problems and defects in the conventional art, the present invention is directed to a system and a method for rapidly diagnosing bugs of system software, applicable for rapidly localizing a system program fault that causes a system error and feeding back to a subscriber.
- According to a preferred embodiment of the present invention, a system for rapidly diagnosing bugs of system software includes: an operating system unit, a plurality of functional modules, a hardware unit, a fault monitoring module, a fault analysis module, and a minimum fault set record and feedback module.
- The operating system unit is used for writing a program of system fault analysis standard into the system, and adding a plurality of fault insertion points into a program module of the system according to the requirement for precision of fault analysis result. The functional modules are used for transmitting fault management information generated at the fault insertion points of the functional modules during a running process of a system program to the fault monitoring module. The hardware unit is used for transmitting fault management information generated at the fault insertion point of a hardware program module during the running process of the system program to the fault monitoring module via the operating system unit. The fault monitoring module is used for receiving the fault management information transmitted by the operating system unit and the functional modules, monitoring the fault management information, and collecting relevant system fault data for being transmitted to the fault analysis module. The fault analysis module is used for analyzing in real time the collected system fault data through the program of system fault analysis standard, so as to obtain a minimum fault set for causing the system error. The minimum fault set record and feedback module is used for recording the minimum fault set into the system log in real time, and feeding back to the subscriber.
- The fault analysis module groups a plurality of program tasks running in the system via the program of system fault analysis standard; sorts and gathers the fault data collected at the fault insertion points according to different groups of the program tasks; obtains a minimum fault set for a single task according to the system fault analysis standard; and filters and selects a minimum fault set for the current system according to the system fault analysis standard based upon a topological structure of call relation of the program tasks in the system and the analysis result of the minimum fault set for each single task. The system fault analysis standard is: showing all relevant faults, showing all root faults, and showing an initial critical fault. Moreover, when a plurality of faults appears in a single program task, the initial fault is taken as a critical fault for the single program task.
- A method for rapidly diagnosing bugs of system software according to the present invention includes the following steps: presetting and writing a program of system fault analysis standard into the system; adding a plurality of fault insertion points into a program module of the system according to the requirement for the precision of the fault analysis result; generating fault management information at the fault insertion points during a running process of a system program; monitoring the fault management information, and collecting relevant system fault data; analyzing in real time the collected system fault data through the program of system fault analysis standard, so as to obtain a minimum fault set for causing the system error; and recording the minimum fault set into the system log in real time, and feeding back to the subscriber.
- A method for rapidly diagnosing bugs of system software according to the present invention further includes the following steps: grouping a plurality of program tasks running in the system; sorting and gathering the fault data collected at the fault insertion points according to different groups of the program tasks, and obtaining a minimum fault set for a single task according to the system fault analysis standard; and filtering and selecting a minimum fault set for the current system according to the system fault analysis standard based upon a topological structure of call relation of the program tasks in the system and the analysis result of the minimum fault set for each single task. Moreover, the system fault analysis standard is: showing all relevant faults, showing all root faults, and showing an initial critical fault. Furthermore, when a plurality of faults appears in a single program task, the initial fault is taken as a critical fault for the single program task.
- In view of the above, the advantage of the present invention is as follows.
- The system and method for rapidly diagnosing bugs of system software provided in the present invention are capable of rapidly localizing a system program fault that causes a system error and feeding back to a subscriber. According to the present invention, a program of system fault analysis standard is preset and written into the system, and a plurality of fault insertion points is added into a program module of the system according to the requirement for the precision of the fault analysis result, so as to collect fault management information generated at the fault insertion points during the running process of the system program and relevant system fault data, and to obtain the minimum fault set for causing the system error according to the system fault analysis standard. Therefore, the present invention can assist system software testers and software subscribers to rapidly localize the source of the software program fault that causes a system error or failure, thus greatly enhancing the efficiency for diagnosing bugs of system software, alleviating the difficulty in difficulty in localizing the system failure in the conventional art, and shortening the time spent on localizing the system error.
- Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.
- The present invention will become more fully understood from the detailed description given herein below for illustration only, which thus is not limitative of the present invention, and wherein:
-
FIG. 1 is a block diagram of a system for rapidly diagnosing bugs of system software according to the present invention; -
FIG. 2 is a graph showing the topological structure relation of a plurality of program tasks in the present invention; -
FIG. 3 is a flow chart of a method for rapidly diagnosing bugs of system software according to the present invention; and -
FIG. 4 is a flow chart of sub-steps for a single step in the method shown inFIG. 3 . - Preferred embodiments of the present invention will be illustrated below with reference to the accompanying drawings.
- Referring to
FIG. 1 , it is a block diagram of a system for rapidly diagnosing bugs of system software according to the present invention. The system is applicable for rapidly localizing a system program fault that causes a system error and feeding back to a subscriber. The system includes anoperating system unit 20, a plurality offunctional modules 30, ahardware unit 10, afault monitoring module 50, afault analysis module 60, and a minimum fault set record andfeedback module 70. - The
operating system unit 20 is used for writing a program of system fault analysis standard into the system, and adding a plurality offault insertion points 40 into a program module of the system according to the requirement for the precision of the fault analysis result. Thefunctional modules 30 are used for transmitting fault management information generated at thefault insertion points 40 of thefunctional modules 30 during the running process of the system program to thefault monitoring module 50. Thehardware unit 10 is used for transmitting fault management information generated at thefault insertion point 40 of a hardware program module during the running process of the system program to thefault monitoring module 50 via theoperating system unit 20 in an interrupt mode. Thefault monitoring module 50 is used for receiving the fault management information transmitted by theoperating system unit 20 and thefunctional modules 30, monitoring the fault management information, and collecting relevant system fault data for being transmitted to thefault analysis module 60. Thefault analysis module 60 is used for analyzing in real time the collected system fault data through the program of system fault analysis standard, so as to obtain a minimum fault set for causing the system error. The minimum fault set record andfeedback module 70 is used for recording the minimum fault set into the system log in real time, and feeding back to the subscriber. - The
fault analysis module 60 groups a plurality of program tasks running in the system via the program of system fault analysis standard; sorts and gathers the fault data collected at thefault insertion points 40 according to different groups of the program tasks; and obtains a minimum fault set for a single task according to the system fault analysis standard. The process of obtaining the minimum fault set for a single task is described as follows. - It is assumed that a program task OAM_xxx1 needs to call three steps. If the three steps are required to be executed successfully one by one, a fault information collection shown in the following table is obtained.
-
->Job:OAM_xxx1, Start, PID:26, JobID:0012-3242-234234-234234, All Step:3 ->Job:OAM_xxx1, process, Step:1, begin, 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! ->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, Error_message: 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 - Then, by analyzing the fault information collection shown in the table according to the system fault analysis standard, a minimum fault set for the task can be obtained as follows:
- ->Module: HDD_module, PID: 26, File: hdd_write.c, Func: hdd_write_a_block, Line: 596, Error_message: write hdd2 error!
- Of course, the specific expression of the minimum fault set for the single task does not have to be the same as the above, and the above expression is only taken as a simple illustration for the function. Of course, the subscriber may want to obtain all the fault or error information of the task, which can be achieved through the preset system fault analysis standard according to the subscriber's requirement.
- Next, the minimum fault set for the plurality of program tasks is generated based on the minimum fault set for the above single task. Meanwhile, the minimum fault set for the current system can only be generated according to the topological structure of call relation of the plurality of program tasks in the system.
FIG. 2 is a graph showing the topological structure relation of a plurality of program tasks in the present invention. Thefault analysis module 60 groups the plurality of program tasks running in theoperating system 80 through the program of system fault analysis standard, and for example, theoperating system 80 is divided into a plurality of program tasks, such asTask 1,Task 2, andTask 3. Then, each single task:Task 1,Task 2, andTask 3, is further grouped in sequence, such thatTask 1 is divided intoTask 4 andTask 5,Task 2 is divided intoTask 6 andTask 7,Task 3 is divided intoTask 8, and finallyTask 4 is divided intoTask 9, and thereby, a graph of the topological structure relation of a plurality of program tasks is obtained. Then, the fundamental fault is filtered and selected according to the system fault analysis standard based upon a topological structure of call relation of the program tasks in the system and the analysis result of the minimum fault set for each single task. Moreover, it should be noted that, the minimum fault set of the plurality of program tasks should be generated based upon the scanning of the fundamental source code. - An example is given below for illustration. It is assumed that
Tasks FIG. 2 may have the following logic structures for execution: -
Task 1Fault_occurred_1_in_task_1 Task_4 Fault_occurred_2_in_task_2 Task_5 Task 4 Fault_occurred_1_in_task_4 Task_9 Fault_occurred_2_in_task_4 Task 5 Fault_occurred_1_in_task_5 Fault_occurred_2_in_task_5 Task 9 Fault_occurred_1_in_task_9 Fault_occurred_2_in_task_9 - Under the circumstance that various fault selections may become possible due to the appearance of different faults, in principle, when the system fault analysis standard is set, if a plurality of faults appears in a single program task, an initial fault should be defined as a critical fault of the program task.
- For example:
- as for the above faults occurred in
Tasks - Fault_occurred_1_in_task_9
- Fault_occurred_2_in_task_4
- Fault_occurred_2_in_task_5
- It is certain that the critical fault should be: Fault_occurred_1_in_task_9, and the minimum fault set for
Tasks - Moreover, the minimum fault set of the system program faults for causing the system error can also be determined and localized through the following coding principle. It is assumed that an application programming interface (API) provided by the system is named: _interface_1 which calls interfaces of three modules:
- _raid_mod_interface_x;
- _lvm_mod_interface_y;
- _hdd_mod_interface_z, and has some processing flows of its own. The processing flows of the API _interface_1 and _raid_mod_interface_x, _lvm_mod_interface_y, _hdd_mod_interface_z may all have faults. It is assumed that fault information as shown in the following table is generated in the API_interface_1 according to the program processing sequence:
-
Serial line Num- Module Name for Causing the Function num- ber Module Name Fault File Name Name ber 1 raid_mod_interface_x— NULL Raid_sub.c Func1 404 sub_mod_1 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— NULL Hdd_sub.c Func3 500 sub_mod2 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 - As such, the desired result of the system fault analysis can be obtained through the system fault analysis standard according to the fault information listed in the above table. If the system fault analysis standard is only preset for the initial critical fault that causes a system failure or error, a program or an allocation file of the system fault analysis standard is written into the system before hand, so as to conclude the result of the system fault analysis required by the subscriber. The system fault analysis standard is at least one of the following three modes or any combination thereof. 1. showing all relevant faults; 2. showing all root faults; 3. showing an initial critical fault. If the first mode is adopted for the above example, the obtained minimum fault set is all the fault information listed in the above table. If the second and/or third mode is adopted, the following circumstances should be analyzed first:
- 1.
Faults Faults - 2.
Faults - 3. It can be easily derived from the two items of the module name and the module name for causing the faults that,
faults Faults fault 1, such that the fault information should be integrated for the second and/or third mode, so as to integrate the three faults (faults fault 1. - 4.
Faults faults - For the second circumstance, the serial number set of the faults after integration is {1, 4, 5, 6}, and the minimum fault set is generated according to the occurrence sequence for all the root faults. For the third circumstance,
fault 1 in the above analyzed fault set {1, 4, 5, 6} is the initial critical fault, so that the minimum fault set isfault 1. Many faults may occur in the above system, and the call relation between the modules is complicated. Sometimes, one module may be called by several different APIs, so the faults may be classified in the following manner: - 1. A topological graph of the call relation between the modules is utilized to guide the fault tracing process in the module, and then the topological structure relation of the module is illustrated according to the module name and the module name that causes the fault.
- 2. Each fault is allocated with a current progress ID number, and the particular API that finally calls the fault can be figured out according to the ID number, so it is easy to gather all the relevant faults called by this API for analysis.
- Referring to
FIG. 3 , it is a flow chart of a method for rapidly diagnosing bugs of system software according to the present invention. InFIG. 3 , the method for rapidly diagnosing bugs of system software according to the present invention includes following steps: according to the subscriber's requirement, presetting and writing a program of system fault analysis standard into the system (Step 200); adding a plurality of fault insertion points into a program module of the system according to the requirement for the precision of the fault analysis result (Step 201); generating fault management information at the fault insertion points during a running process of a system program (Step 202); monitoring the fault management information, and collecting relevant system fault data (Step 203); analyzing in real time the collected system fault data through the program of system fault analysis standard, so as to obtain a minimum fault set for causing the system error (Step 204); and recording the minimum fault set into the system log in real time, and feeding back to the subscriber (Step 205). - As shown in
FIG. 4 ,Step 204 in the above method for rapidly diagnosing bugs of system software provided by the present invention further includes the following steps: grouping a plurality of program tasks running in the system (Step 2041); sorting and gathering the fault data collected at the fault insertion points according to different groups of the program tasks, and obtaining a minimum fault set for a single task according to the system fault analysis standard (Step 2042); and filtering and selecting a minimum fault set for the current system according to the system fault analysis standard based upon a topological structure of the call relation for the program tasks in the system and the analysis result of the minimum fault set for each single task (Step 2043). Moreover, the system fault analysis standard is one mode of the following three modes or any combination thereof, namely, showing all relevant faults, showing all root faults, and showing an initial critical fault. - Furthermore, when a plurality of faults appears in the above single program task, the initial fault is taken as the critical fault for the single program task.
- The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.
Claims (8)
1. A system for rapidly diagnosing bugs of system software, applicable for rapidly localizing a system program fault that causes a system error and then feeding back to a subscriber, the system comprising: an operating system unit, a plurality of functional modules, a hardware unit, a fault monitoring module, a fault analysis module, and a minimum fault set record and feedback module, wherein:
the operating system unit, for writing a program of system fault analysis standard into the system, and adding a plurality of fault insertion points into a program module of the system according to the requirement for the precision of fault analysis result;
the functional modules, for transmitting fault management information generated at the fault insertion points of the functional modules during a running process of a system program to the fault monitoring module;
the hardware unit, for transmitting fault management information generated at the fault insertion point of a hardware program module during a running process of a system program to the fault monitoring module via the operating system unit;
the fault monitoring module, for receiving the fault management information transmitted by the operating system unit and the functional modules, monitoring the fault management information, and collecting relevant system fault data for being transmitted to the fault analysis module;
the fault analysis module, for analyzing in real time the collected system fault data through the program of system fault analysis standard, so as to obtain a minimum fault set for causing the system error; and
the minimum fault set record and feedback module, for recording the minimum fault set into the system log in real time, and feeding back to the subscriber.
2. The system for rapidly diagnosing bugs of system software as claimed in claim 1 , wherein the fault analysis module groups a plurality of program tasks running in the system via the program of system fault analysis standard; sorts and gathers the fault data collected at the fault insertion points according to different groups of the program tasks; obtains a minimum fault set for a single task according to the system fault analysis standard; and filters and selects a minimum fault set for the current system according to the system fault analysis standard based upon a topological structure of call relation among the program tasks in the system and the analysis result of the minimum fault set for each single task.
3. The system for rapidly diagnosing bugs of system software as claimed in claim 1 , wherein the system fault analysis standard is: showing all relevant faults, showing all root faults, and showing an initial critical fault.
4. The system for rapidly diagnosing bugs of system software as claimed in claim 3 , wherein when a plurality of faults appears in a single program task, the initial fault is taken as a critical fault for the single program task.
5. A method for rapidly diagnosing bugs of system software, applicable for rapidly localizing a system program fault that causes a system error and then feeding back to a subscriber, the method comprising:
presetting and writing a program of system fault analysis standard into the system;
adding a plurality of fault insertion points into a program module of the system according to the requirement for the precision of the fault analysis result;
generating fault management information at the fault insertion points during a running process of a system program;
monitoring the fault management information, and collecting relevant system fault data;
analyzing in real time the collected system fault data through the program of system fault analysis standard, so as to obtain a minimum fault set for causing the system error; and
recording the minimum fault set into the system log in real time, and feeding back to the subscriber.
6. The method for rapidly diagnosing bugs of system software as claimed in claim 5 , further comprising:
grouping a plurality of program tasks running in the system;
sorting and gathering the fault data collected at the fault insertion points according to different groups of the program tasks, and obtaining a minimum fault set for a single task according to the system fault analysis standard; and
filtering and selecting a minimum fault set for the current system according to the system fault analysis standard based upon a topological structure of call relation among the program tasks in the system and the analysis result of the minimum fault set for each single task.
7. The method for rapidly diagnosing bugs of system software as claimed in claim 5 , wherein the system fault analysis standard is: showing all relevant faults, showing all root faults, and showing an initial critical fault.
8. The method for rapidly diagnosing bugs of system software as claimed in claim 7 , wherein when a plurality of faults appears in a single program task, the initial fault is taken as a critical fault for the single program task.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/943,985 US20090132860A1 (en) | 2007-11-21 | 2007-11-21 | System and method for rapidly diagnosing bugs of system software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/943,985 US20090132860A1 (en) | 2007-11-21 | 2007-11-21 | System and method for rapidly diagnosing bugs of system software |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090132860A1 true US20090132860A1 (en) | 2009-05-21 |
Family
ID=40643231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/943,985 Abandoned US20090132860A1 (en) | 2007-11-21 | 2007-11-21 | System and method for rapidly diagnosing bugs of system software |
Country Status (1)
Country | Link |
---|---|
US (1) | US20090132860A1 (en) |
Cited By (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205486A1 (en) * | 2009-02-06 | 2010-08-12 | Inventec Corporation | System and method of error reporting |
CN102768639A (en) * | 2012-06-11 | 2012-11-07 | 北京奇虎科技有限公司 | Method and device for locating operating system kernel-level errors |
CN102789412A (en) * | 2011-05-16 | 2012-11-21 | 康佳集团股份有限公司 | Method for positioning code bug and system for implementing method |
US9519557B2 (en) | 2014-07-11 | 2016-12-13 | Microsoft Technology Licensing, Llc | Compliance testing through sandbox environments |
US9557889B2 (en) | 2009-01-28 | 2017-01-31 | Headwater Partners I Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US9571559B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners I Llc | Enhanced curfew and protection associated with a device group |
US9572019B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners LLC | Service selection set published to device agent with on-device service selection |
US9578182B2 (en) | 2009-01-28 | 2017-02-21 | Headwater Partners I Llc | Mobile device and service management |
US9591474B2 (en) | 2009-01-28 | 2017-03-07 | Headwater Partners I Llc | Adapting network policies based on device service processor configuration |
US9609510B2 (en) | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Automated credential porting for mobile devices |
US9609459B2 (en) | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Network tools for analysis, design, testing, and production of services |
US9609544B2 (en) | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US9647918B2 (en) * | 2009-01-28 | 2017-05-09 | Headwater Research Llc | Mobile device and method attributing media services network usage to requesting application |
US9706061B2 (en) | 2009-01-28 | 2017-07-11 | Headwater Partners I Llc | Service design center for device assisted services |
US9705771B2 (en) | 2009-01-28 | 2017-07-11 | Headwater Partners I Llc | Attribution of mobile device data traffic to end-user application based on socket flows |
US9769207B2 (en) | 2009-01-28 | 2017-09-19 | Headwater Research Llc | Wireless network service interfaces |
US9819808B2 (en) | 2009-01-28 | 2017-11-14 | Headwater Research Llc | Hierarchical service policies for creating service usage data records for a wireless end-user device |
US9942796B2 (en) | 2009-01-28 | 2018-04-10 | Headwater Research Llc | Quality of service for device assisted services |
US9954975B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US9955332B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Method for child wireless device activation to subscriber account of a master wireless device |
US9973930B2 (en) | 2009-01-28 | 2018-05-15 | Headwater Research Llc | End user device that secures an association of application to service policy with an application certificate check |
US9980146B2 (en) | 2009-01-28 | 2018-05-22 | Headwater Research Llc | Communications device with secure data path processing agents |
US9986413B2 (en) | 2009-01-28 | 2018-05-29 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US10057141B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Proxy system and method for adaptive ambient services |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US10064033B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Device group partitions and settlement platform |
US10064055B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10070305B2 (en) | 2009-01-28 | 2018-09-04 | Headwater Research Llc | Device assisted services install |
US10080250B2 (en) | 2009-01-28 | 2018-09-18 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
CN108717459A (en) * | 2018-05-24 | 2018-10-30 | 哈尔滨工程大学 | A kind of mobile application defect positioning method of user oriented comment information |
US10200541B2 (en) | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
US10237757B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
US10248996B2 (en) | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
US10326800B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Wireless network service interfaces |
US10492102B2 (en) | 2009-01-28 | 2019-11-26 | Headwater Research Llc | Intermediate networking devices |
US10715342B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US10779177B2 (en) | 2009-01-28 | 2020-09-15 | Headwater Research Llc | Device group partitions and settlement platform |
US10783581B2 (en) | 2009-01-28 | 2020-09-22 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
US10841839B2 (en) | 2009-01-28 | 2020-11-17 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
WO2020233252A1 (en) * | 2019-05-23 | 2020-11-26 | 深圳前海微众银行股份有限公司 | Method and apparatus for diagnosing spark application |
CN113626294A (en) * | 2021-08-30 | 2021-11-09 | 山东新一代信息产业技术研究院有限公司 | Self-checking method and system for robot software |
US11218854B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US11412366B2 (en) | 2009-01-28 | 2022-08-09 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
CN117113104A (en) * | 2023-09-13 | 2023-11-24 | 哈尔滨茂森软件有限公司 | Intelligent management system and method applying data analysis technology |
US11966464B2 (en) | 2009-01-28 | 2024-04-23 | Headwater Research Llc | Security techniques for device assisted services |
US11973804B2 (en) | 2009-01-28 | 2024-04-30 | Headwater Research Llc | Network service plan design |
US11985155B2 (en) | 2009-01-28 | 2024-05-14 | Headwater Research Llc | Communications device with secure data path processing agents |
US12137004B2 (en) | 2009-01-28 | 2024-11-05 | Headwater Research Llc | Device group partitions and settlement platform |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6161200A (en) * | 1995-09-11 | 2000-12-12 | Applied Microsystems, Inc. | Method and apparatus for analyzing software executed in embedded systems |
US6282701B1 (en) * | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US20020138788A1 (en) * | 2000-12-21 | 2002-09-26 | Britt Yenne | Computer software run-time analysis systems and methods |
US6560722B1 (en) * | 1999-12-30 | 2003-05-06 | Texas Instruments Incorporated | Developing and deploying real-time high-performance applications with DSPs |
US20030145255A1 (en) * | 2002-01-15 | 2003-07-31 | Harty Anthony Walter | Hierarchical multi-component trace facility using multiple buffers per component |
US20050166094A1 (en) * | 2003-11-04 | 2005-07-28 | Blackwell Barry M. | Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems |
-
2007
- 2007-11-21 US US11/943,985 patent/US20090132860A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6161200A (en) * | 1995-09-11 | 2000-12-12 | Applied Microsystems, Inc. | Method and apparatus for analyzing software executed in embedded systems |
US6282701B1 (en) * | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US6560722B1 (en) * | 1999-12-30 | 2003-05-06 | Texas Instruments Incorporated | Developing and deploying real-time high-performance applications with DSPs |
US20020138788A1 (en) * | 2000-12-21 | 2002-09-26 | Britt Yenne | Computer software run-time analysis systems and methods |
US7058927B2 (en) * | 2000-12-21 | 2006-06-06 | Veritas Operating Corporation | Computer software run-time analysis systems and methods |
US20030145255A1 (en) * | 2002-01-15 | 2003-07-31 | Harty Anthony Walter | Hierarchical multi-component trace facility using multiple buffers per component |
US20050166094A1 (en) * | 2003-11-04 | 2005-07-28 | Blackwell Barry M. | Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems |
Cited By (119)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715342B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US11096055B2 (en) | 2009-01-28 | 2021-08-17 | Headwater Research Llc | Automated device provisioning and activation |
US9572019B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners LLC | Service selection set published to device agent with on-device service selection |
US9578182B2 (en) | 2009-01-28 | 2017-02-21 | Headwater Partners I Llc | Mobile device and service management |
US9591474B2 (en) | 2009-01-28 | 2017-03-07 | Headwater Partners I Llc | Adapting network policies based on device service processor configuration |
US9609510B2 (en) | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Automated credential porting for mobile devices |
US9609459B2 (en) | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Network tools for analysis, design, testing, and production of services |
US9609544B2 (en) | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US9615192B2 (en) | 2009-01-28 | 2017-04-04 | Headwater Research Llc | Message link server with plural message delivery triggers |
US9641957B2 (en) | 2009-01-28 | 2017-05-02 | Headwater Research Llc | Automated device provisioning and activation |
US9647918B2 (en) * | 2009-01-28 | 2017-05-09 | Headwater Research Llc | Mobile device and method attributing media services network usage to requesting application |
US9674731B2 (en) | 2009-01-28 | 2017-06-06 | Headwater Research Llc | Wireless device applying different background data traffic policies to different device applications |
US9706061B2 (en) | 2009-01-28 | 2017-07-11 | Headwater Partners I Llc | Service design center for device assisted services |
US9705771B2 (en) | 2009-01-28 | 2017-07-11 | Headwater Partners I Llc | Attribution of mobile device data traffic to end-user application based on socket flows |
US9749898B2 (en) | 2009-01-28 | 2017-08-29 | Headwater Research Llc | Wireless end-user device with differential traffic control policy list applicable to one of several wireless modems |
US9749899B2 (en) | 2009-01-28 | 2017-08-29 | Headwater Research Llc | Wireless end-user device with network traffic API to indicate unavailability of roaming wireless connection to background applications |
US9769207B2 (en) | 2009-01-28 | 2017-09-19 | Headwater Research Llc | Wireless network service interfaces |
US9819808B2 (en) | 2009-01-28 | 2017-11-14 | Headwater Research Llc | Hierarchical service policies for creating service usage data records for a wireless end-user device |
US9866642B2 (en) | 2009-01-28 | 2018-01-09 | Headwater Research Llc | Wireless end-user device with wireless modem power state control policy for background applications |
US9942796B2 (en) | 2009-01-28 | 2018-04-10 | Headwater Research Llc | Quality of service for device assisted services |
US9954975B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US9955332B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Method for child wireless device activation to subscriber account of a master wireless device |
US9973930B2 (en) | 2009-01-28 | 2018-05-15 | Headwater Research Llc | End user device that secures an association of application to service policy with an application certificate check |
US9980146B2 (en) | 2009-01-28 | 2018-05-22 | Headwater Research Llc | Communications device with secure data path processing agents |
US9986413B2 (en) | 2009-01-28 | 2018-05-29 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US10028144B2 (en) | 2009-01-28 | 2018-07-17 | Headwater Research Llc | Security techniques for device assisted services |
US10057141B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Proxy system and method for adaptive ambient services |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US10064033B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Device group partitions and settlement platform |
US10064055B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10070305B2 (en) | 2009-01-28 | 2018-09-04 | Headwater Research Llc | Device assisted services install |
US10080250B2 (en) | 2009-01-28 | 2018-09-18 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US12200786B2 (en) | 2009-01-28 | 2025-01-14 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US12184700B2 (en) | 2009-01-28 | 2024-12-31 | Headwater Research Llc | Automated device provisioning and activation |
US12166596B2 (en) | 2009-01-28 | 2024-12-10 | Disney Enterprises, Inc. | Device-assisted services for protecting network capacity |
US12143909B2 (en) | 2009-01-28 | 2024-11-12 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US12137004B2 (en) | 2009-01-28 | 2024-11-05 | Headwater Research Llc | Device group partitions and settlement platform |
US10171988B2 (en) | 2009-01-28 | 2019-01-01 | Headwater Research Llc | Adapting network policies based on device service processor configuration |
US12101434B2 (en) | 2009-01-28 | 2024-09-24 | Headwater Research Llc | Device assisted CDR creation, aggregation, mediation and billing |
US10171681B2 (en) | 2009-01-28 | 2019-01-01 | Headwater Research Llc | Service design center for device assisted services |
US10171990B2 (en) | 2009-01-28 | 2019-01-01 | Headwater Research Llc | Service selection set publishing to device agent with on-device service selection |
US10200541B2 (en) | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
US10237146B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | Adaptive ambient services |
US10237773B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US10237757B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
US10248996B2 (en) | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
US10321320B2 (en) | 2009-01-28 | 2019-06-11 | Headwater Research Llc | Wireless network buffered message system |
US10320990B2 (en) | 2009-01-28 | 2019-06-11 | Headwater Research Llc | Device assisted CDR creation, aggregation, mediation and billing |
US10326800B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Wireless network service interfaces |
US10326675B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Flow tagging for service policy implementation |
US11985155B2 (en) | 2009-01-28 | 2024-05-14 | Headwater Research Llc | Communications device with secure data path processing agents |
US10462627B2 (en) | 2009-01-28 | 2019-10-29 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US10492102B2 (en) | 2009-01-28 | 2019-11-26 | Headwater Research Llc | Intermediate networking devices |
US10536983B2 (en) | 2009-01-28 | 2020-01-14 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US10582375B2 (en) | 2009-01-28 | 2020-03-03 | Headwater Research Llc | Device assisted services install |
US10681179B2 (en) | 2009-01-28 | 2020-06-09 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US10694385B2 (en) | 2009-01-28 | 2020-06-23 | Headwater Research Llc | Security techniques for device assisted services |
US9571559B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners I Llc | Enhanced curfew and protection associated with a device group |
US9557889B2 (en) | 2009-01-28 | 2017-01-31 | Headwater Partners I Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US10841839B2 (en) | 2009-01-28 | 2020-11-17 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10771980B2 (en) | 2009-01-28 | 2020-09-08 | Headwater Research Llc | Communications device with secure data path processing agents |
US10779177B2 (en) | 2009-01-28 | 2020-09-15 | Headwater Research Llc | Device group partitions and settlement platform |
US10783581B2 (en) | 2009-01-28 | 2020-09-22 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
US10791471B2 (en) | 2009-01-28 | 2020-09-29 | Headwater Research Llc | System and method for wireless network offloading |
US10798558B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | Adapting network policies based on device service processor configuration |
US10798254B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | Service design center for device assisted services |
US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
US10803518B2 (en) | 2009-01-28 | 2020-10-13 | Headwater Research Llc | Virtualized policy and charging system |
US10834577B2 (en) | 2009-01-28 | 2020-11-10 | Headwater Research Llc | Service offer set publishing to device agent with on-device service selection |
US11973804B2 (en) | 2009-01-28 | 2024-04-30 | Headwater Research Llc | Network service plan design |
US10749700B2 (en) | 2009-01-28 | 2020-08-18 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US10848330B2 (en) | 2009-01-28 | 2020-11-24 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US11966464B2 (en) | 2009-01-28 | 2024-04-23 | Headwater Research Llc | Security techniques for device assisted services |
US10855559B2 (en) | 2009-01-28 | 2020-12-01 | Headwater Research Llc | Adaptive ambient services |
US10869199B2 (en) | 2009-01-28 | 2020-12-15 | Headwater Research Llc | Network service plan design |
US10985977B2 (en) | 2009-01-28 | 2021-04-20 | Headwater Research Llc | Quality of service for device assisted services |
US11039020B2 (en) | 2009-01-28 | 2021-06-15 | Headwater Research Llc | Mobile device and service management |
US10716006B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | End user device that secures an association of application to service policy with an application certificate check |
US11134102B2 (en) | 2009-01-28 | 2021-09-28 | Headwater Research Llc | Verifiable device assisted service usage monitoring with reporting, synchronization, and notification |
US11968234B2 (en) | 2009-01-28 | 2024-04-23 | Headwater Research Llc | Wireless network service interfaces |
US11190545B2 (en) | 2009-01-28 | 2021-11-30 | Headwater Research Llc | Wireless network service interfaces |
US11190645B2 (en) | 2009-01-28 | 2021-11-30 | Headwater Research Llc | Device assisted CDR creation, aggregation, mediation and billing |
US11190427B2 (en) | 2009-01-28 | 2021-11-30 | Headwater Research Llc | Flow tagging for service policy implementation |
US11218854B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US11219074B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US11228617B2 (en) | 2009-01-28 | 2022-01-18 | Headwater Research Llc | Automated device provisioning and activation |
US11337059B2 (en) | 2009-01-28 | 2022-05-17 | Headwater Research Llc | Device assisted services install |
US11363496B2 (en) | 2009-01-28 | 2022-06-14 | Headwater Research Llc | Intermediate networking devices |
US11405224B2 (en) | 2009-01-28 | 2022-08-02 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US11405429B2 (en) | 2009-01-28 | 2022-08-02 | Headwater Research Llc | Security techniques for device assisted services |
US11412366B2 (en) | 2009-01-28 | 2022-08-09 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US11425580B2 (en) | 2009-01-28 | 2022-08-23 | Headwater Research Llc | System and method for wireless network offloading |
US11477246B2 (en) | 2009-01-28 | 2022-10-18 | Headwater Research Llc | Network service plan design |
US11494837B2 (en) | 2009-01-28 | 2022-11-08 | Headwater Research Llc | Virtualized policy and charging system |
US11516301B2 (en) | 2009-01-28 | 2022-11-29 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US11533642B2 (en) | 2009-01-28 | 2022-12-20 | Headwater Research Llc | Device group partitions and settlement platform |
US11538106B2 (en) | 2009-01-28 | 2022-12-27 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
US11563592B2 (en) | 2009-01-28 | 2023-01-24 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US11570309B2 (en) | 2009-01-28 | 2023-01-31 | Headwater Research Llc | Service design center for device assisted services |
US11582593B2 (en) | 2009-01-28 | 2023-02-14 | Head Water Research Llc | Adapting network policies based on device service processor configuration |
US11589216B2 (en) | 2009-01-28 | 2023-02-21 | Headwater Research Llc | Service selection set publishing to device agent with on-device service selection |
US11665592B2 (en) | 2009-01-28 | 2023-05-30 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US11665186B2 (en) | 2009-01-28 | 2023-05-30 | Headwater Research Llc | Communications device with secure data path processing agents |
US11923995B2 (en) | 2009-01-28 | 2024-03-05 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US11750477B2 (en) | 2009-01-28 | 2023-09-05 | Headwater Research Llc | Adaptive ambient services |
US11757943B2 (en) | 2009-01-28 | 2023-09-12 | Headwater Research Llc | Automated device provisioning and activation |
US20100205486A1 (en) * | 2009-02-06 | 2010-08-12 | Inventec Corporation | System and method of error reporting |
CN102789412A (en) * | 2011-05-16 | 2012-11-21 | 康佳集团股份有限公司 | Method for positioning code bug and system for implementing method |
CN102768639A (en) * | 2012-06-11 | 2012-11-07 | 北京奇虎科技有限公司 | Method and device for locating operating system kernel-level errors |
US11743717B2 (en) | 2013-03-14 | 2023-08-29 | Headwater Research Llc | Automated credential porting for mobile devices |
US10834583B2 (en) | 2013-03-14 | 2020-11-10 | Headwater Research Llc | Automated credential porting for mobile devices |
US10171995B2 (en) | 2013-03-14 | 2019-01-01 | Headwater Research Llc | Automated credential porting for mobile devices |
US10379984B2 (en) | 2014-07-11 | 2019-08-13 | Microsoft Technology Licensing, Llc | Compliance testing through sandbox environments |
US9519557B2 (en) | 2014-07-11 | 2016-12-13 | Microsoft Technology Licensing, Llc | Compliance testing through sandbox environments |
CN108717459A (en) * | 2018-05-24 | 2018-10-30 | 哈尔滨工程大学 | A kind of mobile application defect positioning method of user oriented comment information |
WO2020233252A1 (en) * | 2019-05-23 | 2020-11-26 | 深圳前海微众银行股份有限公司 | Method and apparatus for diagnosing spark application |
CN113626294A (en) * | 2021-08-30 | 2021-11-09 | 山东新一代信息产业技术研究院有限公司 | Self-checking method and system for robot software |
CN117113104A (en) * | 2023-09-13 | 2023-11-24 | 哈尔滨茂森软件有限公司 | Intelligent management system and method applying data analysis technology |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090132860A1 (en) | System and method for rapidly diagnosing bugs of system software | |
US10430319B1 (en) | Systems and methods for automatic software testing | |
US7596778B2 (en) | Method and system for automatic error prevention for computer software | |
US8276126B2 (en) | Determining causes of software regressions based on regression and delta information | |
CN102184138B (en) | Method and system for automatically reproducing and positioning software error | |
US6892236B1 (en) | System and method of generating computer system performance reports | |
US8276123B1 (en) | Adaptive regression test selection within testing environments | |
Xu et al. | POD-Diagnosis: Error diagnosis of sporadic operations on cloud applications | |
US7937622B2 (en) | Method and system for autonomic target testing | |
CN109614391B (en) | Database diagnosis system, database diagnosis method, and non-transitory machine-readable medium | |
CN111108481B (en) | Fault analysis method and related equipment | |
CN102143008A (en) | Method and device for diagnosing fault event in data center | |
WO2002052411A1 (en) | Computer software run-time analysis systems and methods | |
CN102999417B (en) | Automatic test management system and method | |
CN103678116A (en) | Method and system for facilitating automated program testing | |
CN111694752B (en) | Application testing method, electronic device and storage medium | |
CN108572895B (en) | A Stability Test Method for Automatically Checking Software and Hardware Configuration under Linux | |
CN117370217B (en) | Automatic interface test result generation method based on python | |
CN101398781B (en) | System and method for quickly diagnosing system software defects | |
Peng et al. | Cat: Change-focused android gui testing | |
US8949669B1 (en) | Error detection, correction and triage of a storage array errors | |
CN113687927B (en) | Flume task scheduling configuration method, device, equipment and storage medium | |
US20050065803A1 (en) | Using ghost agents in an environment supported by customer service providers | |
CN108021495B (en) | Code debugging method based on playback | |
US8739130B2 (en) | Quality assurance testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INVENTEC CORPORATION, TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIU, QING-BIAO;ZHUANG, QIN-PING;CHEN, TOM;AND OTHERS;REEL/FRAME:020201/0043 Effective date: 20071119 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |