Test executive which provides heap validity checking and memory leak detection for user code modules
First Claim
1. A carrier medium comprising program instructions executable to:
- include a plurality of test executive steps in a test executive sequence in response to user input;
configure each of the test executive steps to call a user-supplied code module in response to user input; and
execute the test executive sequence, wherein said executing comprises executing each of the test executive steps in the test executive sequence;
wherein for each test executive step in the test executive sequence, said executing the test executive step comprises;
invoking execution of the user-supplied code module called by the test executive step; and
checking validity of a first heap after the user-supplied code module called by the test executive step finishes execution to determine whether the user-supplied code module caused the first heap to become corrupted.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for automatically detecting heap corruption errors and memory leak errors caused by user-supplied code modules that are called by steps of a test executive sequence. The test executive sequence may first be created by including a plurality of test executive steps in the test executive sequence and configuring at least a subset of the steps to call user-supplied code modules. The test executive sequence may then be executed on a host computer under control of a test executive engine. For each step that calls a user-supplied code module, the test executive engine may perform certain actions to automatically detect whether the user-supplied code module causes a heap corruption error and/or automatically detect whether the user-supplied code module causes a memory leak error.
-
Citations
44 Claims
-
1. A carrier medium comprising program instructions executable to:
-
include a plurality of test executive steps in a test executive sequence in response to user input;
configure each of the test executive steps to call a user-supplied code module in response to user input; and
execute the test executive sequence, wherein said executing comprises executing each of the test executive steps in the test executive sequence;
wherein for each test executive step in the test executive sequence, said executing the test executive step comprises;
invoking execution of the user-supplied code module called by the test executive step; and
checking validity of a first heap after the user-supplied code module called by the test executive step finishes execution to determine whether the user-supplied code module caused the first heap to become corrupted. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method for discovering a heap corruption error caused by a test executive sequence, the method comprising:
-
including a plurality of test executive steps in the test executive sequence in response to user input;
configuring each of the test executive steps to call a user-supplied code module in response to user input; and
executing the test executive sequence, wherein said executing comprises executing each of the test executive steps in the test executive sequence;
wherein for each test executive step in the test executive sequence, said executing the test executive step comprises;
invoking execution of the user-supplied code module called by the test executive step; and
checking validity of a first heap after the user-supplied code module called by the test executive step finishes execution to determine whether the user-supplied code module caused the first heap to become corrupted. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
a sequence editor;
a test executive engine;
a host computer operable to execute the sequence editor and the test executive engine; and
a unit under test (UUT) coupled to the host computer;
wherein the host computer is operable to execute the sequence editor to create a test executive sequence for testing the UUT, wherein said creating the test executive sequence comprises including a plurality of test executive steps in the test executive sequence in response to user input to the sequence editor and configuring each of the test executive steps to call a user-supplied code module in response to user input to the sequence editor;
wherein the host computer is further operable to execute the test executive engine, wherein the test executive engine is operable to control execution of the test executive sequence, wherein said controlling execution of the test executive sequence comprises causing each of the test executive steps in the test executive sequence to be executed on the host computer;
wherein for each test executive step in the test executive sequence, the test executive engine is operable to;
invoke the user-supplied code module called by the test executive step for execution on the host computer; and
check validity of a first heap after the user-supplied code module called by the test executive step finishes execution to determine whether the user-supplied code module caused the first heap to become corrupted. - View Dependent Claims (21, 22, 23)
-
-
24. A carrier medium comprising program instructions executable to:
-
include a plurality of test executive steps in a test executive sequence in response to user input;
configure each of the test executive steps to call a user-supplied code module in response to user input; and
execute the test executive sequence, wherein said executing comprises executing each of the test executive steps in the test executive sequence;
wherein for each test executive step in at least a subset of the test executive steps in the test executive sequence, said executing the test executive step comprises;
checking memory usage before invoking execution of the user-supplied code module called by the test executive step;
invoking execution of the user-supplied code module called by the test executive step; and
checking memory usage again after the user-supplied code module called by the test executive step finishes execution to determine whether the user-supplied code module causes a memory leak. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method for discovering a memory leak error caused by a test executive sequence, the method comprising:
-
including a plurality of test executive steps in the test executive sequence in response to user input;
configuring each of the test executive steps to call a user-supplied code module in response to user input; and
executing the test executive sequence, wherein said executing comprises executing each of the test executive steps in the test executive sequence;
wherein for each test executive step in at least a subset of the test executive steps in the test executive sequence, said executing the test executive step comprises;
checking memory usage before invoking execution of the user-supplied code module called by the test executive step;
invoking execution of the user-supplied code module called by the test executive step; and
checking memory usage again after the user-supplied code module called by the test executive step finishes execution to determine whether the user-supplied code module causes a memory leak. - View Dependent Claims (38, 39, 40, 41)
-
-
42. A system comprising:
-
a sequence editor;
a test executive engine;
a host computer operable to execute the sequence editor and the test executive engine; and
a unit under test (UUT) coupled to the host computer;
wherein the host computer is operable to execute the sequence editor to create a test executive sequence for testing the UUT, wherein said creating the test executive sequence comprises including a plurality of test executive steps in the test executive sequence in response to user input to the sequence editor and configuring each of the test executive steps to call a user-supplied code module in response to user input to the sequence editor;
wherein the host computer is further operable to execute the test executive engine, wherein the test executive engine is operable to control execution of the test executive sequence, wherein said controlling execution of the test executive sequence comprises causing each of the test executive steps in the test executive sequence to be executed on the host computer;
wherein for each test executive step in at least a subset of the test executive steps in the test executive sequence, the test executive engine is operable to;
check memory usage before invoking execution of the user-supplied code module called by the test executive step;
invoke the user-supplied code module called by the test executive step for execution on the host computer; and
check memory usage again after the user-supplied code module called by the test executive step finishes execution to determine whether the user-supplied code module causes a memory leak. - View Dependent Claims (43, 44)
-
Specification