IP Library Granted Patent US 7,069,474
Granted Patent B2
US 7,069,474 · App. 10/246,075 · Granted Jun 27, 2006

System and method for assessing compatibility risk

Assignee: Sun Microsystems, Inc.
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,069,474
App. No.
10/246,075
Granted
Jun 27, 2006
Kind
B2
Abstract

A system and method for assessing binary compatibility between software modules permits software end users to register with a system, download software tools for testing binary compatibility between one or more ABIs and binary files resident on the end users' computer system(s). The testing generates a file including the results of the binary compatibility test for each binary file tested. A unique identifier of each binary file, e.g., the MD5 signature of the binary code, may be uploaded with the results of the compatibility test. The results of the compatibility test and the unique identifier may be further analyzed to determine a risk profile that the binary file(s) on the end user's computer system(s) is not binary compatible with a particular ABI. A report may be generated indicating the binary compatibility risk profile of the files resident on the user's computer system.

Claims (35)

1. A computer-based method for assessing the risk of binary compatibility failure between a first binary file and a first software module, comprising:

receiving a listing of symbols and libraries used in the first binary file;

processing the listing of symbols and libraries used in the first binary file, wherein the processing comprises comparing the received listing of symbols and libraries with a list of symbols supported by the first software module; and

generating a record indicating the risk of binary compatibility failure between the first binary file and the first software module based on results of the processing of the listing of symbols and libraries.

2. The method of claim 1 , wherein the step of receiving a list of symbols and libraries comprises establishing a communication link with a computer workstation on which the first binary file executes.

3. The method of claim 1 , wherein the step of processing the listing of symbols and libraries includes comparing a received list of libraries in the listing of symbols and libraries to a list of libraries in a database defining libraries supported by the first software module.

4. The method of claim 1 , wherein if the first binary file uses symbols that are not supported by the first software module, then generating a record indicating that the first binary file fails a test for binary compatibility with the first software module.

5. The method of claim 1 , wherein if the first binary file uses libraries that are not supported by the first software module, Then generating a record indicating that the first binary file fails a test for binary compatibility with the first software module.

6. The method of claim 1 , wherein if the first binary file uses libraries that have known behavioral changes, then generating a record indicating that the first binary file presents a high risk of failure for binary compatibility with the first software module.

7. The method of claim 1 , wherein if the first binary statically links to an unchanged library or contains unchanged private symbols, then generating a record indicating that the first binary file presents a low risk of failure for binary compatibility with the first software module.

8. The method of claim 1 , wherein if the first binary file cannot be analyzed, then generating a record indicating that the risk of binary compatibility failure cannot be determined.

9. The method of claim 1 ,further comprising storing the record in a computer readable medium with an identifier that uniquely identifies the first binary file.

10. The method of claim 1 , wherein the first software module comprises an operating system and the first binary file comprises a compiled version of an application module.

11. A computer-based method for assessing the risk of binary compatibility failure between a first binary file and an operating system interface, comprising:

receiving a file, the file comprising a binary file identifier, the results of a binary compatibility test between the binary file and the operating system interface, and a list of Unix symbols and libraries invoked by the binary file;

generating an undetermined record if the results of the binary compatibility test were indeterminate;

generating a failure record if the binary file invokes symbols that are not supported by the operating system interface;

generating a failure record if the binary file either invokes a library that has known problems or private symbols that have been demoted;

generating a high risk record if the binary file invokes a library that has one or more changed behaviors;

generating a low risk record if the binary file performs static linking to unchanged system libraries or contains unchanged private symbols;

generating a guarantee eligible record if the binary file passed all tests for binary compatibility; and

storing the generated records in a computer readable medium.

12. The method of claim 11 , further comprising transmitting the stored records to a remote location.

13. A computer program product for use in connection with a processor for assessing the risk of binary compatibility failure between a first binary file and a first software module, comprising:

logic instructions, executable on a processor, for receiving a listing of symbols and libraries used in the first binary file;

logic instructions, executable on a processor, for processing the listing of symbols and libraries used in the first binary file, wherein the processing comprises comparing the received listing of symbols and libraries with a list of symbols supported by the first software module; and

logic instructions, executable on a processor, for generating a record indicating the risk of binary compatibility failure between the first binary file and the first software module based on results of the Processing of the listing of symbols and libraries.

14. The computer program product of claim 13 , wherein the logic instructions for receiving a list of symbols and libraries comprises establishing a communication link with a computer workstation on which the first binary file execute.

15. The computer program product of claim 13 , wherein the logic instructions for processing the listing of symbols and libraries includes comparing received list of libraries in the listing of symbols and libraries to a list of libraries in a database defining libraries supported btthe first software module.

16. The computer program product of claim 13 , further comprising logic instructions for generating a record indicating that the first binary file fails a test for binary compatibility with the first software module if the first binary file uses symbols that are not supported by the first software module.

17. The computer program product of claim 13 , further comprising logic instructions for generating a record indicating that the first binary file fails a test for binary compatibility with the first software module if the first binary file uses libraries that are not supported by the first software module, or uses symbols which have been demoted and thus are not compatible with the first software module.

18. The computer program product of claim 13 , further comprising logic instructions for generating a record indicating that the first binary file presents a high risk of failure for binary compatibility with the first software module if the first binary file uses libraries that have known behavioral changes.

19. The computer program product of claim 13 , further comprising logic instructions for generating a record indicating that the first binary file presents a low risk of failure for binary compatibility with the first software module if the first binary statically links to links to an unchanged system library or contains unchanged private symbols.

20. The computer program product of claim 13 , further comprising logic instructions for generating a record indicating that the risk of binary compatibility failure cannot be determined if the first binary file cannot be analyzed.

21. The computer program product of claim 13 , further comprising logic instructions for storing the record in a computer readable medium with an identifier that uniquely identifies the first binary file.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0633 →
MERGER AND CHANGE OF NAME Recorded Dec 14, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037280/0232 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2002
From: ATALLAH, DARIO; NG, CLEMENT
To: SUN MICROSYSTEMS, INC.
Reel/Frame 013307/0226 →
Continuity (1)
Related Publication 20040054946A1 · Mar 18, 2004