IP Library Granted Patent US 7,412,697
Granted Patent B2
US 7,412,697 · App. 10/603,700 · Granted Aug 12, 2008

High-level language, architecture-independent probe program compiler

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,412,697
App. No.
10/603,700
Granted
Aug 12, 2008
Kind
B2
Abstract

A high-level language, architecture-independent probe program compiler is disclosed. A base program is executable by one or processors, and has one or more breakpoints. A probe program is associated with each breakpoint and is also indirectly executable by the one or more processors. The probe program is independent of the architecture of the processors, and is generated from source code written in a high-level language. The probe program associated with each breakpoint is executed when the breakpoint is reached during execution of the base program. The compiler may employ an abstract syntax tree to switch between an address space of the probe program and an address space of the base program, by traversing the tree. Some of the nodes of the tree may more simply represent address space-specific objects of the base program. The probe program may be able to pass messages by manipulating the state of the base program.

Claims (11)

1. A system comprising:

one or more processors;

a base program executable by the one or more processors and having one or more breakpoints;

a probe program associated with each breakpoint, the probe program executed by an interpreter, the interpreter running on the one or more processors,

the probe program generated from source code written in a high-level language, the probe program independent of an architecture of the one or more processors due to the source code of the probe program being written in the high-level language,

the high-level language of the source code from which the probe program is generated being different than a high-level language in which the base program is written,

the source code from which the probe program is generated by being compiled by a compiler specific to compiling probe programs like the probe program and not for compiling the base program,

the probe program being independent of an architecture of the one or more processors due to the probe program being initially written in the high-level language and compiled by the compiler,

the probe program being independent of a machine code representation of the base program, the machine code representation of the base program being tied to an instruction set of the one or more processors, and

the probe program associated with each breakpoint being executed when the breakpoint is reached during execution of the base program; and,

an abstract syntax tree (AST) having a plurality of nodes, at least some of the nodes of the AST representing objects of the base program and other of the nodes of the AST representing objects of the probe program, such that a first address space of the objects of the base program and a second address space of the objects of the probe program are switched between by traversing the AST.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT NUMBERS 10342096;10671117; 10716375; 10716376;10795407;10795408; AND 10827591 PREVIOUSLY RECORDED AT REEL: 58314 FRAME: 657. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 29, 2024
From: RAKUTEN, INC.
To: RAKUTEN GROUP, INC.
Reel/Frame 068066/0103 →
CHANGE OF NAME Recorded Dec 6, 2021
From: RAKUTEN, INC.
To: RAKUTEN GROUP, INC.
Reel/Frame 058314/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: RAKUTEN, INC.
Reel/Frame 035176/0368 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2003
From: MOORE, RICHARD J.; ZANUSSI, THOMAS R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014264/0480 →