Injecting faults into program for testing software
First Claim
Patent Images
1. A method implemented at least in part by a computing device having a processor, the method comprising:
- with the processor,monitoring for a notification of an event from a program during execution, the program being configured to generate the notification at a target execution point of the program;
in response to the monitored notification of the event, causing an exception to be raised at the target execution point in the program without the program being under conditions that would otherwise cause the exception to be raised in the program and without modifying code of the program, the exception indicating to the program that an action of the program is not executed normally;
obtaining data regarding how the program responds to the raised exception; and
allowing determination of whether the program correctly handles the exception based on the obtained data.
2 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the subject matter described herein relate to injecting faults into programs for testing. In aspects, a program is instrumented with instrumentation points. A request that an exception be raised at an instrumentation point is received. In response, a sink is configured to listen for the event associated with the instrumentation point. The sink is further configured to cause the exception to be raised to the program in response to receiving the event. The exception may be raised without modifying code of the program.
-
Citations
20 Claims
-
1. A method implemented at least in part by a computing device having a processor, the method comprising:
-
with the processor, monitoring for a notification of an event from a program during execution, the program being configured to generate the notification at a target execution point of the program; in response to the monitored notification of the event, causing an exception to be raised at the target execution point in the program without the program being under conditions that would otherwise cause the exception to be raised in the program and without modifying code of the program, the exception indicating to the program that an action of the program is not executed normally; obtaining data regarding how the program responds to the raised exception; and allowing determination of whether the program correctly handles the exception based on the obtained data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer storage medium excluding propagating signals per se, the computer storage medium containing instructions, that when executed by a computing processor, causing the computing processor to perform a process comprising:
-
receiving a definition of a sink for testing a program, the sink being configured to; monitor for a notification of an event from a program during execution, the program being configured to generate the notification at a target execution point of the program; and in response to the monitored notification of the event, cause an exception to be raised at the target execution point in the program without the program being under conditions that would otherwise cause the exception to be raised in the program and without modifying code of the program, the exception indicating to the program that an action of the program is not executed normally; collecting data regarding how the program responds to the raised exception; and presenting the collected data to a program tester to determine if the program correctly handles the raised exception. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing system, comprising:
-
a computing processor; and a memory operatively coupled to the computing processor, the memory containing instructions, that when executed by the computing processor, cause the computing processor to perform operations comprising; performing execution of a program having an executing point corresponding to a line of code in the program, the program being configured to generate a notification when the execution of the program reaches the execution point; monitoring for and detecting the generated notification from the program during execution; in response to the detected notification from the program, injecting an exception into the execution of the program at the target execution point without the program being under conditions that would otherwise cause the exception and without modifying the code of the program, the exception indicating to the program that an action of the program is not executed normally; collecting data regarding how the program responds to the injected exception; and presenting the collected data to a program tester to determine if the program correctly handles the injected exception. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification