Certifying a software application based on identifying interface usage
First Claim
1. A method of certifying a compatibility between software components, said method comprising:
- detecting a set of interfaces used by a first software component to operate with a second software component;
determining whether changes to the second software component affects the set of interfaces used by the first software component; and
certifying the first software component is compatible with the second software component based on whether changes to the second software component affects the set of interfaces used by the first software component.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide a mechanism for certifying the compatibility of a software product by identifying the interfaces (API or ABI) used by that product. The source code or object code of a component is analyzed by a tool that traces which interfaces and data structures of an ABI/API are being utilized. For example, an ISV or IHV may be required to run the tool on their respective components in order to have that component certified with a particular version of an operating system and submit the results to a certification service. The certification service may collect this API/ABI information into an integrated database. The certification service may then use this database to analyze the impact of changes to an operating system at the binary interface level, proactively notify vendors prior to these changes, test compatibility and emulation libraries, and certify components are compatible with an operating system without the need of significant testing.
53 Citations
29 Claims
-
1. A method of certifying a compatibility between software components, said method comprising:
-
detecting a set of interfaces used by a first software component to operate with a second software component;
determining whether changes to the second software component affects the set of interfaces used by the first software component; and
certifying the first software component is compatible with the second software component based on whether changes to the second software component affects the set of interfaces used by the first software component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of certifying compatibility of a software component, said method comprising:
-
identifying a first version of an operating system that the software component has been certified;
detecting a set of interfaces between the first operating system and the software component;
determining changes to the set of interfaces from the first version of the operating system to a second version of the operating system;
determining effects of the changes to the set of interfaces to the software component; and
certifying the software component with the second version of the operating system based on the effects of the changes. - View Dependent Claims (10, 11, 12)
-
-
13. A method of indicating an impact to changes to a base software component on at least one additional software component, said method comprising:
-
gathering interfaces used by the at least one additional software component to operate with the base software component;
determining changes between versions of the base software component;
determining effects of the changes on the gathered interfaces used by the at least one additional software component; and
providing information that indicates which packages include the base software component and the at least one additional software component affected by the changes on the gathered interfaces and information that indicates how at least one additional software component was affected. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system configured to collect information about interfaces used by a first software component to operate with a second software component, said system comprising:
-
a scanner configured to detect a set of interfaces used by the first software component to operate with a second software component;
a comparator configured to determine whether changes to the second software component affects the set of interfaces used by the first software component; and
an emitter configured to provide information about the detected set of interfaces and an impact of changes to the second software component. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification