Patent US2779773A successfully refreshed from Google Patents.
← Back to Patent Explorer
EP0703532A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Embedded program flow information for object code manipulation

Assignee: Sun Microsystems Inc
•
Filing: 1995-09-21
•
Granted: —
•
Expires: 2015-09-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for making flow information available for binary manipulation tasks are disclosed. Flow information is generated and saved either by a compiler or by a flow information generator. A compiler generates the flow information directly from a source file while the compiler is compiling the source file into an executable file. A flow information generator generates the flow information from an executable file in a manner similar to a compiler. Further, the flow information generator groups the executable file into units of text and traces the units to produce the flow information. The binary information thus retrieved is saved and embedded either in a text or a header of the executable file or placed in a file separate from the executable file. The flow information may be used in binary manipulations including binary translations, binary-to-binary optimizations, program tracing, and program debugging.

Inventors

  • 👤 Stephen E. Richardson

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-03 11:41
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06F11/3644; G06F11/3624; G06F8/00; G06F8/40; G06F8/41; G06F8/43; G06F8/433

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 23 words
A method comprising the steps of: generating program flow information for an executable program; and saving said program flow information for later use.
Claim 2
Dependent Claim 34 words
The method of claim 1 wherein said step of generating further comprises the step of generating said program flow information for said executable program during compilation of a source program into said executable program.
Claim 3
Dependent Claim 37 words
The method of claim 1 wherein said step of generating said program flow information for said executable program comprises the step of generating said program flow information from said executable program and subsequent to a program compilation.
Claim 4
Independent Claim 28 words
The method of any of claims 1 to 3, further comprising the step of referencing portions of executable code of said executable program to corresponding program flow information.
Claim 5
Independent Claim 37 words
The method of any of claims 1 to 4, further comprising the step of saving said program flow information in a file separate from said executable program for which said program flow information is generated and saved.
Claim 6
Independent Claim 27 words
The method of any of claims 1 to 4, further comprising the step of saving said program flow information in a program header of said executable program.
Claim 7
Independent Claim 26 words
The method of any of claims 1 to 4, further comprising the step of saving said program flow information in the text of said executable program.
Claim 8
Dependent Claim 42 words
The method of claim 2 or any of claims 4 to 7 when appendant to claim 2, further comprising the steps of: grouping said source program into units of text; and tracing said units of text to retrieve said program flow information.
Claim 9
Dependent Claim 42 words
The method of claim 3 or any of claims 4 to 7 when appendant to claim 2, further comprising the steps of: grouping said executable program into units of text; and tracing said units of text to retrieve said program flow information.
Claim 10
Independent Claim 38 words
An apparatus comprising: a flow information generator for generating program flow information for an executable program; and a flow information saving element for saving said program flow information generated by said flow information generator for said executable program.
Claim 11
Dependent Claim 24 words
The apparatus of claim 10 further comprising: a CPU for driving said flow information generator; and a memory for saving said program flow information.
Claim 12
Dependent Claim 41 words
The apparatus of claim 10 or claim 11, wherein said flow information generator further comprises a source program based flow information generator for generating program flow information from a source program of an executable program during compilation of said executable program.
Claim 13
Dependent Claim 31 words
The apparatus of claim 10 or claim 11, wherein said flow information generator further comprises an executable program based flow information generator for generating program flow information from said executable program.
Claim 14
Dependent Claim 57 words
The apparatus of claim 13, further comprising: a unit separator element for separating said executable program into units such as basic blocks; a unit tracer element for tracing said units of said executable program to generate said flow information; and a referencing element for referencing each of said units of said executable program to corresponding flow information.
Claim 15
Dependent Claim 55 words
The apparatus of claim 12, further comprising: a unit separator element for separating said source program into units such as basic blocks; a unit tracer element for tracing said units of said source program to generate said flow information; and a referencing element for referencing portions of said executable program to corresponding program flow information.
Claim 16
Independent Claim 36 words
The apparatus of any of claims 10 to 15, wherein said flow information saving element further comprises an embedded program header saving element for saving said flow information in a program header of said executable program.
Claim 17
Independent Claim 35 words
The apparatus of any of claims 10 to 15, wherein said flow information saving element further comprises an embedded file saving element for saving said flow information in a file separate from said executable program.
Claim 18
Independent Claim 36 words
The apparatus of any of claims 10 to 15, wherein said flow information saving element further comprises an embedded program text saving element for saving said flow information in a program text of said executable program.
Claim 19
Independent Claim 65 words
A method of providing a computer system comprising the steps of: providing a memory, the provided memory including, a flow information generator for generating program flow information for an executable program, and a flow information saving element for saving said program flow information generated by said flow information generator for use after a program compilation; and providing a CPU for driving said flow information generator.
Claim 20
Dependent Claim 37 words
The method of claim 19 further comprising the step of providing a source code based flow information generator for generating program flow information from a source program of an executable program during compilation of said executable program.
Claim 21
Dependent Claim 27 words
The method of claim 19 further comprising the step of providing an executable program based flow information generator for generating program flow information from said executable program.
Claim 22
Dependent Claim 59 words
The method of claim 20 further comprising the steps of providing: a unit separator element which separates said source program into units such as basic blocks; a unit tracer element which traces said units of said source program to generate said flow information; and a referencing element to reference portions of said executable program to corresponding program flow information.
Claim 23
Dependent Claim 62 words
The method of claim 21 further comprising the steps of providing: a unit separator element which separates said executable program into units such as basic blocks; a unit tracer element which traces said units of said executable program to generate said flow information; and a referencing element to reference each said units of said executable program to its corresponding said flow information.
Claim 24
Independent Claim 34 words
The method of any of claims 19 to 23, further comprising the step of providing an embedded program header saving element for saving said flow information in a program header of said executable program.
Claim 25
Independent Claim 32 words
The method of any of claims 19 to 23, further-comprising the step of providing an embedded file saving element for saving said flow information in a file separate from said executable program.
Claim 26
Independent Claim 40 words
The method of any of claims 19 to 23, wherein said flow information saving element further comprising the step of providing an embedded program text saving element for saving said flow information in a program text of said executable program.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag