IP Library Granted Patent US 7,739,698
Granted Patent B2
US 7,739,698 · App. 11/440,959 · Granted Jun 15, 2010

Multiplatform API usage tool

Assignee: International Business Machines Corporation
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,739,698
App. No.
11/440,959
Granted
Jun 15, 2010
Kind
B2
Abstract

The “API Usage Tool” (AUT) comprises an Interactive Developer Environment Plug-in (IDEP) and a Web Service Component (WSC). The IDEP opens the source code file containing API method calls, identifies the API method calls in the source code, and saves the identified API method calls to an API usage log. The WSC searches API usage data sheets for usage, best practices and known bugs for each identified API method call. The WSC generates an API usage compilation based on the identified API method calls. The IDEP compares the API usage compilation to the dynamic data in the usage log, looking for conflicts between the compiled usage and the actual usage in the source code. The IDEP marks any API method calls in the source code that do not comport with the compiled usage guidelines.

Claims (38)

1. A computer implemented process, comprising:

identifying application program interface (API) calls in a source code file, each of the API calls comprising dynamic data;

determining which of the API calls are new calls;

extracting static data from the dynamic data for each of the new calls;

receiving a usage compilation compiled from the static data and comprising usage information, best practices and known bugs for each of the new calls;

identifying usage conflicts between the dynamic data for each of the API calls, and the usage information, the best practices and the known bugs for a corresponding one of the new calls in the usage compilation; and

marking each of the API calls in the source code file that include one of the usage conflicts.

2. The computer implemented process of claim 1 where the usage compilation is received from multiple web service components representing different web service vendors.

3. The computer implemented process of claim 1 further comprising:

sending the static data to a web services platform; and

receiving the usage compilation from the web services platform.

4. The computer implemented process of claim 3 where the static data comprises generic and non-sensitive information, the dynamic data comprises sensitive information including arguments for the API calls, and the dynamic data is not transmitted to the web services platform.

5. An apparatus, comprising:

a memory; and

a processor, programmed to:

identify application program interface (API) calls in a source code file, each of the API calls comprising dynamic data;

determine which of the API calls are new calls;

extract static data from the dynamic data for each of the new calls;

receive a usage compilation compiled from the static data and comprising usage information, best practices and known bugs for each of the new calls;

identify usage conflicts between the dynamic data for each of the API calls, and the usage information, the best practices and the known bugs for a corresponding one of the new calls in the usage compilation; and

mark each of the API calls in the source code file that include one of the usage conflicts.

6. The apparatus of claim 5 where the usage compilation is received from multiple web service components representing different web service vendors.

7. The apparatus of claim 5 where the processor is further programmed to:

send the static data to a web services platform; and

receive the usage compilation from the web services platform.

8. The apparatus of claim 7 where the static data comprises generic and non-sensitive information, the dynamic data comprises sensitive information including arguments for the API calls, and the dynamic data is not transmitted to the web services platform.

9. A computer program product comprising a computer readable storage medium including computer readable program code, where the computer readable program code when executed on a computer causes the computer to:

identify application program interface (API) calls in a source code file, each of the API calls comprising dynamic data;

determine which of the API calls are new calls;

extract static data from the dynamic data for each of the new calls;

receive a usage compilation compiled from the static data and comprising usage information, best practices and known bugs for each of the new calls;

identify usage conflicts between the dynamic data for each of the API calls, and the usage information, the best practices and the known bugs for a corresponding one of the new calls in the usage compilation; and

mark each of the API calls in the source code file that include one of the usage conflicts.

10. The computer program product of claim 9 where the usage compilation is received from multiple web service components representing different web service vendors.

11. The computer program product of claim 9 where the computer readable program code when executed on the computer further causes the computer to:

send the static data to a web services platform; and

receive the usage compilation from the web services platform.

12. The computer program product of claim 11 where the static data comprises generic and non-sensitive information, the dynamic data comprises sensitive information including arguments for the API calls, and the dynamic data is not transmitted to the web services platform.

Assignments (8)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: TWITTER, INC.
Reel/Frame 032075/0404 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2006
From: BRANDA, STEVEN J.; GEINER, ROBERT V.; STECHER, JOHN J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 017721/0121 →
Continuity (1)
Related Publication 20070288897A1 · Dec 13, 2007