Test executive which provides heap validity checking and memory leak detection for user code modules
First Claim
1. A computer-readable memory 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 test executive step of the plurality of test executive steps to call a respective user-supplied code module in response to user input;
display a graphical user interface for configuring execution options for the test executive sequence; and
receive user input to the graphical user interface enabling heap corruption detection for user-supplied code modules invoked by test executive steps during execution of the test executive sequence; and
execute the test executive sequence, wherein said executing comprises executing each test executive step of the plurality of test executive steps;
wherein for each test executive step of the plurality of test executive steps, said executing the test executive step comprises;
invoking execution of the respective user-supplied code module called by the test executive step; and
in response to determining that the heap corruption detection for user-supplied code modules is enabled, checking validity of a first heap after the respective user-supplied code module called by the test executive step finishes execution to determine whether the respective 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.
52 Citations
23 Claims
-
1. A computer-readable memory 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 test executive step of the plurality of test executive steps to call a respective user-supplied code module in response to user input; display a graphical user interface for configuring execution options for the test executive sequence; and receive user input to the graphical user interface enabling heap corruption detection for user-supplied code modules invoked by test executive steps during execution of the test executive sequence; and execute the test executive sequence, wherein said executing comprises executing each test executive step of the plurality of test executive steps; wherein for each test executive step of the plurality of test executive steps, said executing the test executive step comprises; invoking execution of the respective user-supplied code module called by the test executive step; and in response to determining that the heap corruption detection for user-supplied code modules is enabled, checking validity of a first heap after the respective user-supplied code module called by the test executive step finishes execution to determine whether the respective 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 test executive step of the plurality of test executive steps to call a respective user-supplied code module in response to user input; displaying a graphical user interface for configuring execution options for the test executive sequence; and receiving user input to the graphical user interface enabling heap corruption detection for user-supplied code modules invoked by test executive steps during execution of the test executive sequence; and executing the test executive sequence, wherein said executing comprises executing each test executive step of the plurality of test executive steps; wherein for each test executive step of the plurality of test executive steps, said executing the test executive step comprises; invoking execution of the user-supplied code module called by the test executive step; and in response to determining that the heap corruption detection for user-supplied code modules is enabled, checking validity of a first heap after the respective user-supplied code module called by the test executive step finishes execution to determine whether the respective 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 configured 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 configured 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 test executive step of the plurality of test executive steps to call a respective user-supplied code module in response to user input to the sequence editor; wherein the host computer is further configured to display a graphical user interface for configuring execution options for the test executive sequence and receive user input to the graphical user interface enabling heap corruption detection for user-supplied code modules invoked by test executive steps during execution of the test executive sequence; wherein the host computer is further configured 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 test executive step of the plurality of test executive steps to be executed on the host computer; wherein for each test executive step of the plurality of test executive steps, the test executive engine is operable to; invoke the respective user-supplied code module called by the test executive step for execution on the host computer; and in response to determining that the heap corruption detection for user-supplied code modules is enabled, check validity of a first heap after the respective user-supplied code module called by the test executive step finishes execution to determine whether the respective user-supplied code module caused the first heap to become corrupted. - View Dependent Claims (21, 22, 23)
-
Specification