Mining library specifications using inductive learning
First Claim
Patent Images
1. A method for mining program specifications, comprising:
- based upon an application program interface (API) signature, generating unit tests to exercise functions of a library through the API, wherein the generating unit tests are based upon instrumentation to define interests and a target behavior;
determining a response to the unit tests to generate a transaction in accordance with the target behavior;
converting the transaction into a relational form using a processor; and
learning specifications of the library using an inductive logic programming tool from the relational form of the transaction, wherein learning specifications includes expressing an occurrence of the target behavior in terms of a usage pattern of the unit tests.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for mining program specifications includes generating unit tests to exercise functions of a library through an application program interface (API), based upon an (API) signature. A response to the unit tests is determined to generate a transaction in accordance with a target behavior. The transaction is converted into a relational form, and specifications of the library are learned using an inductive logic programming tool from the relational form of the transaction.
27 Citations
14 Claims
-
1. A method for mining program specifications, comprising:
-
based upon an application program interface (API) signature, generating unit tests to exercise functions of a library through the API, wherein the generating unit tests are based upon instrumentation to define interests and a target behavior; determining a response to the unit tests to generate a transaction in accordance with the target behavior; converting the transaction into a relational form using a processor; and learning specifications of the library using an inductive logic programming tool from the relational form of the transaction, wherein learning specifications includes expressing an occurrence of the target behavior in terms of a usage pattern of the unit tests. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for mining program specifications, comprising:
-
a unit test generator configured to generate unit tests to exercise functions of a library through an application program interface (API), wherein the generating unit tests are based upon instrumentation to define interests and a target behavior; a compiler configured to compile and link library responses to the unit tests and user instrumentation which provides target behavior to generate transactions; and an inductive logic programming tool configured to convert the transactions into a relational form and learn specifications of the library using from the relational form of the transaction, wherein learning specifications includes expressing an occurrence of the target behavior in terms of a usage pattern of the unit tests. - View Dependent Claims (7, 8, 9)
-
-
10. A non-transitory computer readable medium comprising a computer readable program for mining program specifications, wherein the computer readable program when executed on a computer causes the computer perform the steps of:
-
based upon an application program interface (API) signature, generating unit tests to exercise functions of a library through the API, wherein the generating unit tests are based upon instrumentation to define interests and a target behavior; determining a response to the unit tests to generate a transaction in accordance with a the target behavior; converting the transaction into a relational form; and learning specifications of the library using an inductive logic programming tool from the relational form of the transaction, wherein learning specifications includes expressing an occurrence of the target behavior in terms of a usage pattern of the unit tests. - View Dependent Claims (11, 12, 13, 14)
-
Specification