System and method for determining fault path behavior
First Claim
1. A method for determining fault path behavior in a computer software system, comprising the steps of:
- configuring a memory to include at least one event buffer corresponding to a error conditions or event, wherein each event buffer includes an array of N numbers, where N is a predetermined integer value and where an incremented array index identifies a particular value in the array;
associating a probability value with each of the at least one event buffers;
running an iteration of a software component under evaluation;
determining if a current array value for a particular event buffer corresponds to the probability value associated with the particular event buffer;
injecting an event into the software component if it is determined that the current array value for the particular event buffer corresponds to the probability value associated with the particular event buffer; and
incrementing the array index to advance to the next array value in the array.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method for determining fault path behavior in a computer software system. An error or event, the occurrence of which is to be tested, is assigned a probability value and an array of elements populated by pseudo-random numbers. Upon each operation of the system under test the current array value is compared against the probability value. If the current array value is greater than or equal than the probability value, the error or event is simulated within the software. Otherwise, the event is not simulated and the software is left to operate conventionally. The array is incremented upon each occurrence of the system under test.
68 Citations
21 Claims
-
1. A method for determining fault path behavior in a computer software system, comprising the steps of:
-
configuring a memory to include at least one event buffer corresponding to a error conditions or event, wherein each event buffer includes an array of N numbers, where N is a predetermined integer value and where an incremented array index identifies a particular value in the array;
associating a probability value with each of the at least one event buffers;
running an iteration of a software component under evaluation;
determining if a current array value for a particular event buffer corresponds to the probability value associated with the particular event buffer;
injecting an event into the software component if it is determined that the current array value for the particular event buffer corresponds to the probability value associated with the particular event buffer; and
incrementing the array index to advance to the next array value in the array. - View Dependent Claims (2, 3, 4, 5, 6)
generating at least one set of N pseudo-random numbers, based upon at least one seed value; and
populating the at least one event buffer array with the at least one set of N pseudo-random numbers.
-
-
5. The method of claim 4, wherein the at least one seed value is a user-selected seed value.
-
6. The method of claim 4, further comprising the step of maintaining a log of the at least one pseudo-random number seed values.
-
7. A method for determining fault path behavior in a computer software system, comprising the steps of:
-
configuring a memory to include at least one event buffer corresponding to a error conditions or event, wherein each event buffer includes an array of N pseudo-random numbers, where N is a predetermined integer value and where an incremented array index identifies a particular value in the array;
associating a probability value with each of the at least one event buffers;
running an iteration of a software component under evaluation;
determining if a current array value for a particular event buffer is greater than or equal to the probability value associated with the particular event buffer;
injecting an event into the software component and following an event path within the software component if it is determined that the current array value for a particular event buffer corresponds to the probability value associated with the particular event buffer; and
incrementing the array index to advance to the next array value in the array.
-
-
8. A system for determining fault path behavior in a computer software system, comprising:
-
means for configuring a memory to include at least one event buffer corresponding to a error conditions or event, wherein each event buffer includes an array of N numbers, where N is a predetermined integer value and where an incremented array index identifies a particular value in the array;
means for associating a probability value with each of the at least one event buffers;
means for running an iteration of a software component under evaluation;
means for determining if a current array value for a particular event buffer corresponds to the probability value associated with the particular event buffer;
means for injecting an event into the software component if it is determined that the current array value for the particular event buffer corresponds to the probability value associated with the particular event buffer; and
means for incrementing the array index to advance to the next array value in the array. - View Dependent Claims (9, 10, 11, 12, 13)
means for generating at least one set of N pseudo-random numbers, based upon at least one seed value; and
means for populating the at least one event buffer array with the at least one set of N pseudo-random numbers.
-
-
12. The system of claim 11, wherein the at least one seed value is a user-selected seed value.
-
13. The system of claim 11, further comprising means for maintaining a log of the at least one pseudo-random number seed values.
-
14. A system for determining fault path behavior in a computer software system, comprising:
-
means for configuring a memory to include at least one event buffer corresponding to a error conditions or event, wherein each event buffer includes an array of N pseudo-random numbers, where N is a predetermined integer value and where an incremented array index identifies a particular value in the array;
means for associating a probability value with each of the at least one event buffers;
means for running an iteration of a software component under evaluation;
means for determining if a current array value for a particular event buffer is greater than or equal to the probability value associated with the particular event buffer;
means for injecting an event into the software component and following an event path within the software component if it is determined that the current array value for a particular event buffer corresponds to the probability value associated with the particular event buffer; and
means for incrementing the array index to advance to the next array value in the array.
-
-
15. A computer readable medium incorporating instructions for determining fault path behavior in a computer software system, the instructions comprising:
-
one or more instructions for configuring a memory to include at least one event buffer corresponding to a error conditions or event, wherein each event buffer includes an array of N numbers, where N is a predetermined integer value and where an incremented array index identifies a particular value in the array;
one or more instructions for associating a probability value with each of the at least one event buffers;
one or more instructions for running an iteration of a software component under evaluation;
one or more instructions for determining if a current array value for a particular event buffer corresponds to the probability value associated with the particular event buffer;
one or more instructions for injecting an event into the software component if it is determined that the current array value for the particular event buffer corresponds to the probability value associated with the particular event buffer; and
one or more instructions for incrementing the array index to advance to the next array value in the array. - View Dependent Claims (16, 17, 18, 19, 20)
one or more instructions for generating at least one set of N pseudo-random numbers, based upon at least one seed value; and
one or more instructions for populating the at least one event buffer array with the at least one set of N pseudo-random numbers.
-
-
19. The computer readable medium of claim 18, wherein the at least one seed value is a user-selected seed value.
-
20. The computer readable medium of claim 18, further comprising one or more instructions for maintaining a log of the at least one pseudo-random number seed values.
-
21. A computer readable medium incorporating instructions for determining fault path behavior in a computer software system, the instructions comprising:
-
one or more instructions for configuring a memory to include at least one event buffer corresponding to a error conditions or event, wherein each event buffer includes an array of N pseudo-random numbers, where N is a predetermined integer value and where an incremented array index identifies a particular value in the array;
one or more instructions for associating a probability value with each of the at least one event buffers;
one or more instructions for running an iteration of a software component under evaluation;
one or more instructions for determining if a current array value for a particular event buffer is greater than or equal to the probability value associated with the particular event buffer;
one or more instructions for injecting an event into the software component and following an event path within the software component if it is determined that the current array value for a particular event buffer corresponds to the probability value associated with the particular event buffer; and
one or more instructions for incrementing the array index to advance to the next array value in the array.
-
Specification