Patent US5355469A successfully refreshed from Google Patents.
US5355469A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method for detecting program errors
Assignee: Sparks Industries Inc
•
Filing: 1990-07-30
•
Granted: 1994-10-11
•
Expires: 2010-07-30
Abstract
Abstract A method of automatically detecting errors in computer program caused by erroneous memory allocations and deallocations, flawed logic structure, and/or hardware malfunctions. The inventive method uses a pre-defined first table structure to monitor all data storage allocations and deallocations of a computer program. Another aspect of the invention is the use of a second table to track existing memory allocations that are not properly deallocated at the end of a program. The invention also includes a method for detecting program errors that inadvertently overwrite memory locations whose values should remain constant during the execution of a program.
Inventors
- 👤 Clyde R. Sparks
- 👤 Romuald I. Scibor-Marchocki
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-06 06:27
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06F11/366
Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
198 words
A method of automatically detecting operational errors in execution of commands of a computer program in a computer by monitoring memory allocations, such commands being of the type that allocate memory for a variable, each variable having a name location, a name, and a size, comprising the steps of: a. generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. defining a set of allocation test conditions; c. during execution in the computer of a command allocating a variable, comparing in the computer the variable name location, variable name, and variable size of the variable to the set of allocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; d. if the variable fails any one of the set of allocation test conditions, then generating an error indication to the computer; e. otherwise, (1) storing the variable name location, variable name, and variable size of the variable as an entry in the logical table; and (2) allocating the variable in the computer.
Claim 2
Independent Claim
198 words
A method of automatically detecting operational errors in execution of commands of a computer program in a computer by monitoring memory allocations, such commands being of the type that allocate memory for a variable, each variable having a name location, a name, and a size, comprising the steps of: a. generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. defining a set of allocation test conditions; c. during execution in the computer of a command allocating a variable, comparing in the computer the variable name location, variable name, and variable size of the variable to the set of allocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; d. if the variable fails any one of the set of allocation test conditions, then generating an error indication to the computer; e. otherwise, (1) storing the variable name location, variable name, and variable size of the variable as an entry in the logical table; and (2) allocating the variable in the computer.
Claim 3
Independent Claim
206 words
A method of automatically detecting operational errors in execution of commands of a computer program in a computer by monitoring memory deallocations, such commands being of the type that deallocate memory for a variable, each variable having a name location, a name, and a size, comprising the steps of: a. generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. storing entries in the logical table for allocated variables; c. defining a set of deallocation test conditions; d. during execution in the computer of a command deallocating a variable, comparing in the computer the variable name location and variable name of the variable to the set of deallocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; e. if the variable fails any one of the set of deallocation test conditions, then generating an error indication to the computer; f. otherwise, (1) deleting the entry in the logical table having a variable name location matching the variable name location of the variable; and (2) deallocating the variable in the computer.
Claim 4
Independent Claim
206 words
A method of automatically detecting operational errors in execution of commands of a computer program in a computer by monitoring memory deallocations, such commands being of the type that deallocate memory for a variable, each variable having a name location, a name, and a size, comprising the steps of: a. generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. storing entries in the logical table for allocated variables; c. defining a set of deallocation test conditions; d. during execution in the computer of a command deallocating a variable, comparing in the computer the variable name location and variable name of the variable to the set of deallocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; e. if the variable fails any one of the set of deallocation test conditions, then generating an error indication to the computer; f. otherwise, (1) deleting the entry in the logical table having a variable name location matching the variable name location of the variable; and (2) deallocating the variable in the computer.
Claim 5
Independent Claim
223 words
A method of automatically detecting operational errors in execution of commands of a computer program in a computer by monitoring memory allocations and deallocations, such commands being of the type that allocate or deallocate memory for a variable, each variable having a name location, a name, and a size, comprising the steps of: a. generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. storing entries in the logical table for allocated variables; c. deleting corresponding entries in the logical table for deallocated variables; d. upon termination of a selected group of commands of the computer program, examining the logical table for any undeleted entries of allocated variables and storing the variable name location for such undeleted entries as hanging names for future recall; e. before a subsequent execution of the computer program, entering selected ones of the hanging names into the logical table; f. during subsequent execution of the computer program, upon execution of a command in the computer allocating a variable, comparing the variable name location of the variable to the hanging names in the logical table; g. if the variable name location of the variable matches any of the hanging names in the logical table, then generating an error indication to the computer.
Claim 6
Independent Claim
223 words
A method of automatically detecting operational errors in execution of commands of a computer program in a computer by monitoring memory allocations and deallocations, such commands being of the type that allocate or deallocate memory for a variable, each variable having a name location, a name, and a size, comprising the steps of: a. generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. storing entries in the logical table for allocated variables; c. deleting corresponding entries in the logical table for deallocated variables; d. upon termination of a selected group of commands of the computer program, examining the logical table for any undeleted entries of allocated variables and storing the variable name location for such undeleted entries as hanging names for future recall; e. before a subsequent execution of the computer program, entering selected ones of the hanging names into the logical table; f. during subsequent execution of the computer program, upon execution of a command in the computer allocating a variable, comparing the variable name location of the variable to the hanging names in the logical table; g. if the variable name location of the variable matches any of the hanging names in the logical table, then generating an error indication to the computer.
Claim 7
Dependent Claim
190 words
A programmed digital computer for automatically detecting operational errors in execution of commands of a computer program in the computer by monitoring memory allocations, such commands being of the type that allocate memory for a variable, each variable having a name location, a name, and a size, comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for comparing in the computer, during execution of a command allocating a variable, the variable name location, variable name, and variable size of the variable to a set of allocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; c. means for generating an error indication to the computer if the variable fails any one of the set of allocation test conditions, and for otherwise storing the variable name location, variable name, and variable size of the variable as an entry in the logical table, and allocating the variable in the computer.
Claim 8
Dependent Claim
190 words
A programmed digital computer for automatically detecting operational errors in execution of commands of a computer program in the computer by monitoring memory allocations, such commands being of the type that allocate memory for a variable, each variable having a name location, a name, and a size, comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for comparing in the computer, during execution of a command allocating a variable, the variable name location, variable name, and variable size of the variable to a set of allocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; c. means for generating an error indication to the computer if the variable fails any one of the set of allocation test conditions, and for otherwise storing the variable name location, variable name, and variable size of the variable as an entry in the logical table, and allocating the variable in the computer.
Claim 9
Dependent Claim
197 words
A programmed digital computer for automatically detecting operational errors in execution of commands of a computer program in the computer by monitoring memory deallocations, such commands being of the type that deallocate memory for a variable, each variable having a name location, a name, and a size, comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for storing entries in the logical table for allocated variables; c. means for comparing in the computer, during execution of a command deallocating a variable, the variable name location and variable name of the variable to a set of deallocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; d. means for generating an error indication to the computer if the variable fails any one of the set or deallocation test conditions, and for otherwise deleting the entry in the logical table having a variable name location matching the variable name location of the variable, and deallocating the variable.
Claim 10
Dependent Claim
197 words
A programmed digital computer for automatically detecting operational errors in execution of commands of a computer program in the computer by monitoring memory deallocations, such commands being of the type that deallocate memory for a variable, each variable having a name location, a name, and a size, comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for storing entries in the logical table for allocated variables; c. means for comparing in the computer, during execution of a command deallocating a variable, the variable name location and variable name of the variable to a set of deallocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; d. means for generating an error indication to the computer if the variable fails any one of the set or deallocation test conditions, and for otherwise deleting the entry in the logical table having a variable name location matching the variable name location of the variable, and deallocating the variable.
Claim 11
Dependent Claim
238 words
A programmed digital computer for automatically detecting operational errors in execution of commands of a computer program in the computer by monitoring memory allocations and deallocations, such commands being of the type that allocate or deallocate memory for a variable, each variable having a name location, a name, and a size, comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for storing entries in the logical table for allocated variables; c. means for deleting corresponding entries in the logical table for deallocated variables; d. means for examining in the computer, upon termination of a selected group of commands of the computer program, the logical table for any undeleted entries of allocated variables and for storing the variable name location for such undeleted entries as hanging names for future recall; e. means for entering selected ones of the hanging names into the logical table before a subsequent execution of the program; f. means for comparing in the computer the variable name location of the variable to the hanging names in the logical table during subsequent execution of the program and upon execution of a command allocating a variable; g. means for generating an error indication to the computer if the variable name location of the variable matches any of the hanging names in the logical table.
Claim 12
Dependent Claim
238 words
A programmed digital computer for automatically detecting operational errors in execution of commands of a computer program in the computer by monitoring memory allocations and deallocations, such commands being of the type that allocate or deallocate memory for a variable, each variable having a name location, a name, and a size, comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for storing entries in the logical table for allocated variables; c. means for deleting corresponding entries in the logical table for deallocated variables; d. means for examining in the computer, upon termination of a selected group of commands of the computer program, the logical table for any undeleted entries of allocated variables and for storing the variable name location for such undeleted entries as hanging names for future recall; e. means for entering selected ones of the hanging names into the logical table before a subsequent execution of the program; f. means for comparing in the computer the variable name location of the variable to the hanging names in the logical table during subsequent execution of the program and upon execution of a command allocating a variable; g. means for generating an error indication to the computer if the variable name location of the variable matches any of the hanging names in the logical table.
Claim 13
Dependent Claim
220 words
An error control system, used in conjunction with a digital computer, of automatically detecting operational errors in execution of commands of a second computer program in the computer by monitoring memory allocations, such commands being of the type that allocate memory for a variable, each variable having a name location, a name, and a size, the system comprising a computer program storage medium having a computer program stored thereon for execution by said digital computer, the program comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for comparing in the computer, during execution of a command allocating a variable, the variable name location, variable name, and variable size of the variable to a set of allocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; c. means for generating an error indication to the computer if the variable fails any one of the set of allocation test conditions, and for otherwise storing the variable name location, variable name, and variable size of the variable as an entry in the logical table, and allocating the variable in the computer.
Claim 14
Dependent Claim
220 words
An error control system, used in conjunction with a digital computer, of automatically detecting operational errors in execution of commands of a second computer program in the computer by monitoring memory allocations, such commands being of the type that allocate memory for a variable, each variable having a name location, a name, and a size, the system comprising a computer program storage medium having a computer program stored thereon for execution by said digital computer, the program comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for comparing in the computer, during execution of a command allocating a variable, the variable name location, variable name, and variable size of the variable to a set of allocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; c. means for generating an error indication to the computer if the variable fails any one of the set of allocation test conditions, and for otherwise storing the variable name location, variable name, and variable size of the variable as an entry in the logical table, and allocating the variable in the computer.
Claim 15
Dependent Claim
230 words
An error control system, used in conjunction with a digital computer, of automatically detecting operational errors in execution of commands of a second computer program in the computer by monitoring memory deallocations, such commands being of the type that deallocate memory for a variable, each variable having a name location, a name, and a size, the system comprising a computer program storage medium having a computer program stored thereon for execution by said digital computer, the program comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for storing entries in the logical table for allocated variables; c. means for comparing in the computer, during execution of a command deallocating a variable, the variable name location and variable name of the variable to a set of deallocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; d. means for generating an error indication to the computer if the variable fails any one of the set of deallocation test conditions, and for otherwise deleting the entry in the logical table having a variable name location matching the variable name location of the variable, and deallocating the variable in the computer.
Claim 16
Dependent Claim
230 words
An error control system, used in conjunction with a digital computer, of automatically detecting operational errors in execution of commands of a second computer program in the computer by monitoring memory deallocations, such commands being of the type that deallocate memory for a variable, each variable having a name location, a name, and a size, the system comprising a computer program storage medium having a computer program stored thereon for execution by said digital computer, the program comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for storing entries in the logical table for allocated variables; c. means for comparing in the computer, during execution of a command deallocating a variable, the variable name location and variable name of the variable to a set of deallocation test conditions, including comparison of the variable name location of the variable to the variable name location value of the at least one entry of the logical table; d. means for generating an error indication to the computer if the variable fails any one of the set of deallocation test conditions, and for otherwise deleting the entry in the logical table having a variable name location matching the variable name location of the variable, and deallocating the variable in the computer.
Claim 17
Dependent Claim
271 words
An error control system, used in conjunction with a digital computer, of automatically detecting operational errors in execution of commands of a second computer program in the computer by monitoring memory allocation and deallocations, such commands being of the type that deallocate memory for a variable, each variable having a name location, a name, and a size, the system comprising a computer program storage medium having a computer program stored thereon for execution by said digital computer, the program comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for storing entries in the logical table for allocated variables; c. means for deleting corresponding entries in the logical table for deallocated variables; d. means for examining in the computer, upon termination of a selected group of commands of the second computer program, the logical table for any undeleted entries of allocated variables and for storing the variable name location for such undeleted entries as hanging names for future recall; e. means for entering selected ones of the hanging names into the logical table before a subsequent execution of the second computer program; f. means for comparing in the computer the variable name location of the variable to the hanging names in the logical table during subsequent execution of the second computer program and upon execution of a command allocating a variable; g. means for generating an error indication to the computer if the variable name location of the variable matches any of the hanging names in the logical table.
Claim 18
Dependent Claim
271 words
An error control system, used in conjunction with a digital computer, of automatically detecting operational errors in execution of commands of a second computer program in the computer by monitoring memory allocation and deallocations, such commands being of the type that deallocate memory for a variable, each variable having a name location, a name, and a size, the system comprising a computer program storage medium having a computer program stored thereon for execution by said digital computer, the program comprising: a. means for generating a logical table in the computer structured to store at least one entry comprising values for a variable name location, variable name, and variable size; b. means for storing entries in the logical table for allocated variables; c. means for deleting corresponding entries in the logical table for deallocated variables; d. means for examining in the computer, upon termination of a selected group of commands of the second computer program, the logical table for any undeleted entries of allocated variables and for storing the variable name location for such undeleted entries as hanging names for future recall; e. means for entering selected ones of the hanging names into the logical table before a subsequent execution of the second computer program; f. means for comparing in the computer the variable name location of the variable to the hanging names in the logical table during subsequent execution of the second computer program and upon execution of a command allocating a variable; g. means for generating an error indication to the computer if the variable name location of the variable matches any of the hanging names in the logical table.
References Cited (Backward Citations)
US3715573A
Cited
US3763474A
Cited
US4156918A
Cited
US4166290A
Cited
US4429368A
Cited
US4453210A
Cited
SU862144A1
Cited
JPS5880197A
Cited
US4783762A
Cited
US4598364A
Cited
US4823307A
Cited
US4755995A
Cited
US4763244A
Cited
US4890223A
Cited
US4748625A
Cited
US4802085A
Cited
US5193178A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-10-10 | 1998-04-11 | 1998-10-11 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-10-10 | 2002-04-11 | 2002-10-11 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-10-10 | 2006-04-11 | 2006-10-11 | $7700.00 | Window Closed / Lapsed |