Stack unique signatures for program procedures and methods
First Claim
1. A method for marking a processing stack with signatures to indicate which portions of the stack were utilized by one or more re-entrant or object-oriented programming software code modules, said method comprising the steps of:
- inserting stack signing software into one or more re-entrant or object-oriented programming code modules stored in a computer-readable medium;
producing one or more executable programs containing one or more executable re-entrant or object oriented programming code modules containing said inserted stack signing software;
upon execution of said executable re-entrant or object-oriented code modules, assigning unique module identifier values to said code modules by said stack signing software, said stack signing software preventing module identifiers from having a same value for multiple instances of any re-entered or multiply instantiated code module, and pushing onto said processing stack said stack signatures within stack frames allocated to said code modules.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for inserting stack signature marking segments into application program modules at the entry and exit points of the application program segments prior to compilations. Unique module identifier values are assigned to each application program module. During execution of the modified application software modules, upon entry into a new module or instance of a module, the unique module identifier is pushed onto the stack along with an instance number and an entry indicator. Upon termination of the module or instance of a module, the unique module identifier is pushed onto the stack with the instance number and an exit indicator, thereby placing an entry signature and an exit signature onto the stack bracketing the stack frame assigned to that module or module instance. During debug of exceptions, these signatures may be used to locate and identify stack frames and their associated software modules.
-
Citations
18 Claims
-
1. A method for marking a processing stack with signatures to indicate which portions of the stack were utilized by one or more re-entrant or object-oriented programming software code modules, said method comprising the steps of:
-
inserting stack signing software into one or more re-entrant or object-oriented programming code modules stored in a computer-readable medium; producing one or more executable programs containing one or more executable re-entrant or object oriented programming code modules containing said inserted stack signing software; upon execution of said executable re-entrant or object-oriented code modules, assigning unique module identifier values to said code modules by said stack signing software, said stack signing software preventing module identifiers from having a same value for multiple instances of any re-entered or multiply instantiated code module, and pushing onto said processing stack said stack signatures within stack frames allocated to said code modules. - View Dependent Claims (2, 3, 4, 5, 6, 16, 17, 18)
-
-
7. A computer readable medium encoded with software for marking a processing stack with signatures to indicate which portions of the stack were utilized by which application code modules, said software causing a processor to perform the steps of:
-
inserting stack signing software into one or more re-entrant or object-oriented programming code modules stored in a computer-readable medium; producing one or more executable programs containing one or more executable re-entrant or object oriented programming code modules containing said inserted stack signing software; upon execution of said executable re-entrant or object-oriented code modules, assigning unique module identifier values to said code modules by said stack signing software, said stack signing software preventing module identifiers from having a same value for multiple instances of any re-entered or multiply instantiated code module, and pushing onto said processing stack said stack signatures within stack frames allocated to said code modules. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system for inserting stack signature marking code segments into application software modules prior to compilation, said system cooperating with a compiler and comprising:
-
a control means operable by a user to indicate whether or not to insert stack signature marking code segments into application software modules; a code insertion means which, responsive to the operation of the control means, searches for entry points and exits points in application software modules and inserts stack signature marking code segments following each entry point and prior to each exit point into said application software modules; a compiler means for producing one or more executable programs containing one or more executable re-entrant or object oriented programming code modules containing said inserted stack signing software; and a debugger means configured to, upon execution of said executable re-entrant or object-oriented code modules, assign unique module identifier values to said code modules by said stack signing software, said stack signing software preventing module identifiers from having a same value for multiple instances of any re-entered or multiply instantiated code module, and to push onto said processing stack said stack signatures. - View Dependent Claims (14, 15)
-
Specification