Browse Prior Art Database

Method and System for Object Code Instrumentation for Checking Array Bound Read/Write Errors

IP.com Disclosure Number: IPCOM000202428D
Publication Date: 2010-Dec-15
Document File: 2 page(s) / 59K

Publishing Venue

The IP.com Prior Art Database

Abstract

A method and system for object code instrumentation for checking array bound read/write errors is disclosed. The method involves modifying the data layout of static and global variables without patching data access offsets in instructions for accessing the static and global variables.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 82% of the total text.

Page 01 of 2

Method and System for Object Code Instrumentation for Checking Array Bound Read/Write Errors

Disclosed is a method and system for object code instrumentation for checking array bound read/write errors. The method involves modifying the data layout of static and global variables without patching data access offsets in instructions for accessing the static and global variables.

The data layout of the static and the global variables is modified by partitioning the data layout into two data parts, namely, a static data part represented as Part A and a global data part represented as Part B as shown in Fig. 1.

(This page contains 00 pictures or other non-text object)

Figure 1

As shown in Fig. 1, the static data part retains original data without any modification. In the static data part, only static variables are valid, whereas global variables act as dummy. The static data part enables an access to all the static variables. In case a global data area is present in the static data part, the global data area acts as a guard area for the static variables. Further, addresses of the static variables stored in a

1


Page 02 of 2

symbol table are also not modified as shown in Fig. 2.

(This page contains 00 pictures or other non-text object)

Figure 2

As shown in Fig. 2, $STATIC symbol remains the same after the object code instrumentation. The global data part holds all global variables such that each global variable is separated by a guard area. The global data part enables an...