×

Detect application defects by correlating contracts in application dependencies

  • US 10,083,029 B2
  • Filed: 11/09/2016
  • Issued: 09/25/2018
  • Est. Priority Date: 11/09/2016
  • Status: Active Grant
First Claim
Patent Images

1. A method of detecting incompatibility between an application and an application dependency, comprising:

  • identifying a first set of contracts exposed in a first version of an application dependency, an application being dependent on the first version, and each contract of the first set including a symbol and a corresponding signature;

    performing static analysis on a second version of the application dependency to identify a corresponding second set of contracts exposed in the second version, each contract of the second set including a symbol and a corresponding signature;

    comparing the first set of contracts to the corresponding second set of contracts;

    determining, based on the comparing, whether the first set of contracts matches the second set of contracts, wherein determining whether the first set of contracts matches the second set of contracts includes;

    determining that a first signature of the first set of contracts is different from a second signature of the second set of contracts, the first signature corresponding to the second signature;

    determining whether the first and second signatures satisfy any substitution principles, wherein the first signature includes a first data type in a first contract of the first set of contracts, the first data type is substituted for a second data type in a second contract of the second set of contracts, and a substitution principle specifies that if the first data type is substituted for the second data type, the substitution principle is satisfied;

    in response to a determination that the first and second signatures satisfy a substitution principle, determining that the first contract matches the second contract; and

    in response to a determination that the first and second signatures do not satisfy any substitution principles, determining that the first contract does not match the second contract; and

    in response to a determination that the first set of contracts matches the second set of contracts, providing an indication that the second set of contracts is compatible with the application.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×