IP Library Granted Patent US 7,000,151
Granted Patent B2
US 7,000,151 · App. 10/198,776 · Granted Feb 14, 2006

System and method for providing run-time type checking

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,000,151
App. No.
10/198,776
Granted
Feb 14, 2006
Kind
B2
Abstract

The present invention provides systems and methods for providing run-time type checking to prevent software errors. In architecture, a representative system includes a compiler that parses a program and further comprises a logic that generates a checksum for a block of code in the program, a logic that stores the checksum in the block of code, and a logic that inserts checksum instruction code into the block of code. The present invention can also be viewed as a method for providing run-time type checking to prevent software errors. A representative method operates by generating a checksum for a block of code in the program, and storing the checksum in the block of code. During execution of the program, a run-time checksum is generated for the block of code, and the block of code is executed if the checksum equals the run-time checksum, and the execution of the block of code is skipped if the checksum does not equals the run-time checksum.

Claims (46)

1. A method for providing run-time type checking comprising steps of:

generating a checksum corresponding to the form of an object in a program;

storing the checksum in the object;

computing a run-time checksum corresponding to the form of the object during execution of the program;

executing the object if the checksum equals the run-time checksum; and

skipping execution of the object if the checksum does not equal the run-time checksum.

2. The method of claim 1 , wherein the generating a checksum step further comprises:

allocating area for the generated checksum.

3. The method of claim 1 , wherein the generating a checksum step further comprises:

inserting the checksum in the object.

4. The method of claim 1 , further comprising the step of:

inserting checksum instruction code into the object.

5. The method of claim 1 , wherein the generating a checksum step further comprises:

using a parameter to generate the checksum, wherein the parameter comprises a base address of the object, number of elements in the object, type of the elements in the object, and order of the elements in the object.

6. A system for providing run-time type checking, comprising:

means for generating a checksum corresponding to the form of an object in a program;

means for storing the checksum in the object; and

means for computing a run-time checksum corresponding to the form of the object during execution of the program, wherein the computing means executes the object if the checksum equals the run-time checksum, and skips execution of the object if the checksum does not equal the run-time checksum, said means for computing comprising a processor.

7. The system of claim 6 , wherein the generating means further comprises:

means for allocating area for the generated checksum.

8. The system of claim 6 , wherein the generating means further comprises:

means for inserting the checksum in the object.

9. The system of claim 6 , wherein the generating means further comprises:

means for inserting checksum instruction code into the object.

10. The system of claim 6 , wherein the checksum is generated using a parameter, wherein the parameter comprises a base address of the object, number of elements in the object, type of the elements in the object, and order of the elements in the object.

11. A computer readable electronic storage medium executing computer readable instructions for providing run-time type checking, comprising:

logic for generating a checksum corresponding to the form of an object in a program;

logic for storing the checksum in the object; and

logic for computing a run-time checksum corresponding to the form of the object during execution of the program, wherein the computing logic executes the object if the checksum equals the run-time checksum, and skips execution of the object if the checksum does not equal the run-time checksum.

12. The computer readable medium of claim 11 , wherein said logic for generating a checksum further comprises:

logic for allocating area for the checksum.

13. The computer readable medium of claim 11 , wherein said logic for generating a checksum further comprises:

logic for inserting the checksum in the object.

14. The computer readable medium of claim 11 , wherein said logic for generating a checksum further comprises:

logic for inserting checksum instruction code into the object.

15. The computer readable medium of claim 14 , wherein the checksum is generated using a parameter, wherein the parameter comprises a base address of the object, number of elements in the object, type of the elements in the object, and order of the elements in the object.

16. A system for providing run-time type checking, comprising:

a compiler that parses a program, wherein the compiler further comprises:

logic that generates a checksum corresponding to the form of an object in the program;

logic that stores the checksum in the object; and

logic that inserts checksum instruction code into the object.

17. The system of claim 16 , wherein the compiler further comprises:

logic that allocates area in the object for the checksum.

18. The system of claim 16 , wherein the compiler further comprises:

logic that inserts the checksum in the object.

19. The system of claim 16 , wherein the checksum is generated using a parameter, wherein the parameter comprises a base address of the object, number of elements in the object, type of the elements in the object, and order of the elements in the object.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 056157/0492 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →