IP Library Granted Patent US 6,983,399
Granted Patent B2
US 6,983,399 · App. 10/016,834 · Granted Jan 3, 2006

System and method for ascertaining public application program interface coverage

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 6,983,399
App. No.
10/016,834
Granted
Jan 3, 2006
Kind
B2
Abstract

An invention is provided for a computer program embodied on a computer readable medium for ascertaining public API coverage for a J2EE application. The computer program includes a code segment that analyzes an API for an application to determine the plurality of methods comprising the API, and a code segment that intercepts method calls utilizing stubs for corresponding methods of the plurality of methods comprising the API. In addition, the computer program includes a code segment that generates list of intercepted methods calls, and a code segment that compares the list of intercepted methods calls with the plurality of methods comprising the API.

Claims (42)

1. A method for ascertaining application program interface (API) coverage for a Java 2 platform Enterprise Edition (J2EE) application, comprising the operations of:

analyzing an API of an application to determine a plurality of methods comprising the API;

exercising the API utilizing a test program that calls methods from the plurality of methods comprising the API;

generating a list of methods called by the test program; and

comparing the list of methods called by the test program with the plurality of methods comprising the API; and

determining a percentage of the plurality of methods comprising the API that are called by the test program and designating the application as portable when the percentage is greater than a predetermined bar percentage.

2. A method as recited in claim 1 , further comprising the operation of designating the application as non-portable when the percentage is less than the predetermined bar percentage.

3. A method for ascertaining application program interface (API) coverage for a Java 2 platform Enterprise Edition (J2EE) application, comprising the operations of:

analyzing an API of an application to determine a plurality of methods comprising the API;

exercising the API utilizing a test program that calls methods from the plurality of methods comprising the API;

generating a list of methods called by the test program;

comparing the list of methods called by the test program with the plurality of methods comprising the API;

intercepting method calls from the test program utilizing stubs for corresponding methods of the plurality of methods comprising the API; and

recording the intercepted method calls and passing the intercepted method calls to corresponding methods of the plurality of methods comprising the API.

4. A computer program embodied on a computer readable medium for ascertaining application program interface (API) coverage for a Java 2 platform Enterprise Edition (J2EE) application, comprising:

a code segment that analyzes an API for an application to determine a plurality of methods comprising the API;

a code segment that intercepts method calls utilizing stubs for corresponding methods of the plurality of methods comprising the API;

a code segment that generates a list of intercepted methods calls; and

a code segment that compares the list of intercepted methods calls with the plurality of methods comprising the API, wherein the method calls are generated by a test program that exercises the application API by calling methods from the plurality of methods comprising the API; and

a code segment that determines a percentage of the plurality of methods comprising the API that are called by the test program, wherein the application is designated as portable when the percentage is greater than a predetermined bar percentage.

5. A computer program as recited in claim 4 , wherein the application is designated as non-portable when the percentage is less than the predetermined bar percentage.

6. A computer program embodied on a computer readable medium for ascertaining application program interface (API) coverage for a Java 2 platform Enterprise Edition (J2EE) application, comprising:

a code segment that analyzes an API for an application to determine a plurality of methods comprising the API;

a code segment that intercepts method calls utilizing stubs for corresponding methods of the plurality of methods comprising the API;

a code segment that generates list of intercepted methods calls;

a code segment that compares the list of intercepted methods calls with the plurality of methods comprising the API; and

a code segment that passes the intercepted method calls to corresponding methods of the plurality of methods comprising the API.

7. A computer program embodied on a computer readable medium for ascertaining application program interface (API) coverage for a Java 2 platform Enterprise Edition (J2EE) application, comprising:

a code segment that analyzes an API for an application to determine a plurality of methods comprising the API;

a code segment that intercepts method calls utilizing stubs for corresponding methods of the plurality of methods comprising the API;

a code segment that generates list of intercepted methods calls;

a code segment that compares the list of intercepted methods calls with the plurality of methods comprising the API; and

a code segment that reads a deployment descriptor for the application to determine a public interface for the application.

8. A computer program as recited in claim 7 , further comprising a code segment that introspects class Java code for the public interface to generate a list of the plurality of methods comprising the API.

9. A system for ascertaining application program interface (API) coverage for a Java 2 platform Enterprise Edition (J2EE) application, comprising:

logic that analyzes an API for an application to determine a plurality of methods comprising the API;

logic that generates a list of methods called by a test program;

logic that compares the list of methods called by the test program with the plurality of methods comprising the API to determine a percentage of the plurality of methods comprising the API that are called by the test program; and

logic that designates the application as portable when the percentage is greater than a predetermined bar percentage.

10. A system as recited in claim 9 , wherein the test program exercises the application API by calling methods from the plurality of methods comprising the API.

11. A system as recited in claim 9 , further comprising logic that designates the application as non-portable when the percentage is less than the predetermined bar percentage.

12. A system as recited in claim 11 , further comprising logic that designates the application as non-portable when an exception occurs during execution of the test program.

Assignments (2)
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/0188 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2001
From: DOCHEZ, JEROME; MOTT, CARLA V.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 012388/0136 →