IP Library Patent Application 11561438
Patent Application
App. No. 11/561,438

Methods, Systems, And Computer Program Products For Providing Program Runtime Data Validation

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 None
App. No.
11/561,438
Abstract

A method and system are described for providing program runtime data validation. A memory location of an addressable entity is associated with a runtime constraint for the addressable entity. The addressable entity is included in an executable program component generated from source code written in a processor-independent programming language. The memory location is monitored during runtime and it is determined whether access to the memory location by a machine code instruction of an executable program component violates the runtime constraint using validation information associated with the memory location. The validation information is not included in the executable program component and the determining is not performed by the executable program component.

Claims (41)

1 . A method for providing program runtime data validation, comprising:

associating a memory location of an addressable entity with a runtime constraint for the addressable entity, wherein the addressable entity is included in an executable program component generated from source code written in a processor-independent programming language;

monitoring the memory location during runtime; and

determining whether an access to the memory location by a machine code instruction of an executable program component violates the runtime constraint using validation information associated with the memory location, wherein the validation information is not included in the executable program component and the determining is not performed by the executable program component.

2 . The method of claim 1 wherein the memory location of the addressable entity is managed by a structured data storage system.

3 . The method of claim 2 wherein the structured data storage system is a database management system (DBMS).

4 . The method of claim 1 wherein the runtime constraint is specified in a format conforming to at least one of an XML format, a DBMS command language format, and a key word-value format.

5 . The method of claim 1 wherein the runtime constraint includes at least one of a value constraint, a scope constraint, a relationship constraint, a conditional constraint, a type constraint, an initialization constraint, a termination constraint, a storage constraint, a parameter constraint, a return value constraint, an instance constraint, and a global constraint.

6 . The method of claim 1 wherein at least a portion of the validation information is generated in connection with at least one of parsing, compiling, linking, loading, and interpreting the source code.

7 . The method of claim 1 wherein at least a portion of the validation information is created or modified during execution of the executable program component.

8 . The method of claim 1 wherein the validation information includes at least one of an event specification, an error handler, a logical expression, and a conditional expression.

9 . The method of claim 1 wherein the constraint information includes relationship information relating the addressable entity to another addressable entity.

10 . The method of claim 1 wherein the validation information is language neutral.

11 . The method of claim 1 comprising providing a user interface configured for enabling a user to create, edit, or delete some or all of the validation information.

12 . The method of claim 1 wherein the addressable entity is written in a language that does not support run-time data validation.

13 . A system for providing program runtime data validation, comprising:

means for associating a memory location of an addressable entity with a runtime constraint for the addressable entity, wherein the addressable entity is included in an executable program component generated from source code written in a processor-independent programming language;

means for monitoring the memory location during runtime; and

means for determining whether an access to the memory location by a machine code instruction of an executable program component violates the runtime constraint using validation information associated with the memory location, wherein the validation information is not included in the executable program component and the determining is not performed by the executable program component.

14 . A system for providing program runtime data validation, comprising:

a loader component configured for associating a memory location of an addressable entity with a runtime constraint for the addressable entity, wherein the addressable entity is included in an executable program component generated from source code written in a processor-independent programming language;

a memory monitor component configured for monitoring the memory location during runtime; and

a constraint validator component configured for determining whether an access to the memory location by a machine code instruction of an executable program component violates the runtime constraint using validation information associated with the memory location, wherein the validation information is not included in the executable program component and the determining is not performed by the executable program component.

15 . The system of claim 14 wherein the memory monitor component includes at least one of a software access detector and a hardware access detector.

16 . The system of claim 15 wherein the hardware access detector is configured to monitor the memory location during runtime by accessing a memory management unit including a translation lookaside buffer to mark the monitored memory location.

17 . The system of claim 15 wherein the hardware access detector is configured to monitor the memory location during runtime by accessing page table to mark the monitored memory location.

18 . The system of claim 15 wherein the hardware access detector is configured to monitor the memory location during runtime by accessing map table to mark the monitored memory location.

19 . The system of claim 14 wherein the memory monitor component includes a database of addresses of monitored memory locations.

20 . The system of claim 19 wherein the memory monitor component is configured to determine the addresses of monitored memory locations using a memory map.

21 . The system of claim 20 wherein the memory map is generated by at least one of a compiler, a linker, an interpreter, and a loader.

22 . The system of claim 20 wherein the memory monitor component is configured to determine the addresses of monitored memory locations dynamically as the memory map is updated as addressable instances are created and deleted.

23 . The system of claim 14 wherein the monitoring component is configured to identify whether an accessed memory location is associated with a monitored addressable entity using a combination of a memory map, validation information, and thread/process context information.

24 . The system of claim 14 wherein the constraint validator component is configured to determine whether an access to the memory location by a machine code instruction of an executable program component violates the runtime constraint prior to or during the access to the memory location.

25 . The system of claim 14 wherein the constraint validator component is configured to determine whether an access to the memory location by a machine code instruction of an executable program component violates the runtime constraint after the access to the memory location.

26 . The system of claim 14 wherein the constraint validator component is configured to invoke an error handler when an access to the memory location by a machine code instruction of an executable program component violates the runtime constraint.

27 . The system of claim 26 wherein the error handler is specified by at least one of the validation information and an execution environment.

28 . The system of claim 14 wherein a memory address associated with the monitored memory location is from a non-sequential address space.

29 . A computer readable medium including a computer program, executable by a machine, for providing program runtime data validation, the computer program comprising executable instructions for:

associating a memory location of an addressable entity with a runtime constraint for the addressable entity, wherein the addressable entity is included in an executable program component generated from source code written in a processor-independent programming language;

monitoring the memory location during runtime; and

determining whether an access to the memory location by a machine code instruction of an executable program component violates the runtime constraint using validation information associated with the memory location, wherein the validation information is not included in the executable program component and the determining is not performed by the executable program component.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2017
From: OKRALABS LLC
To: SCENERA TECHNOLOGIES, LLC
Reel/Frame 044358/0633 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2006
From: MORRIS, ROBERT P.
To: OKRALABS, LLC
Reel/Frame 018536/0519 →