Test selection

US9734043B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9734043-B2
Application numberUS-201514822050-A
CountryUS
Kind codeB2
Filing dateAug 10, 2015
Priority dateAug 12, 2014
Publication dateAug 15, 2017
Grant dateAug 15, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In a method for selecting one or more tests for a compiled software module, a processor detects that one or more changes have been made to source code for a software module. A processor compiles the source code for the software module. A processor accesses a set of tests for the software module. A processor accesses metadata for each test of the set of tests. A processor receives a first set of one or more rules describing logical conditions relative to the metadata for the tests. A processor selects at least one test from the set of tests whose metadata corresponds to the received first set of one or more rules.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of selecting one or more tests for a compiled software module, the method comprising the steps of: detecting, by one or more processors, that one or more changes have been made to source code for a software module; compiling, by one or more processors, the source code for the software module; accessing, by one or more processors, a set of tests for the software module; accessing, by one or more processors, metadata for each test of the set of tests; receiving a first set of one or more rules describing logical conditions relative to the metadata for the tests; and selecting at least one test from the set of tests whose metadata corresponds to the received first set of one or more rules. 2. The method of claim 1 , wherein: the metadata for each test comprises one or more user-defined properties, not derivable from test data; and at least a rule of the received first set of one or more rules describes a logical condition in respect of a user-defined property of the one or more user-defined properties. 3. The method of claim 1 , further comprising: receiving a second set of one or more rules describing execution context for the set of tests; and wherein, selecting the at least one test from the set of tests further comprises selecting the at least one test from the set of tests whose metadata corresponds to the received second set of one or more rules. 4. The method of claim 1 , wherein the step of selecting the at least one test from the set of tests whose metadata corresponds to the received first set of one or more rules is performed using a rule inference engine. 5. The method of claim 4 , wherein the rule inference engine is implemented with a RETE algorithm. 6. A computer system for selecting one or more tests for a compiled software module, the computer system comprising: one or more computer processors, one or more computer-readable storage media, and program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising: program instructions to detect that one or more changes have been made to source code for a software module; program instructions to compile the source code for the software module; program instructions to access a set of tests for the software module; program instructions to access metadata for each test of the set of tests; program instructions to receive a first set of one or more rules describing logical conditions relative to the metadata for the tests; and program instructions to select at least one test from the set of tests whose metadata corresponds to the received first set of one or more rules. 7. The computer system of claim 6 , wherein: the metadata for a test comprises one or more user-defined properties, not derivable from test data; and at least one a rule of the received first set of one or more rules describes a logical condition in respect of a user-defined property of the one or more user-defined properties. 8. The computer system of claim 6 , further comprising: program instructions, stored on the one or more computer readable storage media for execution by at least one of the one or more processors, to receive a second set of one or more rules describing execution context for the set of tests; and wherein program instructions to select the at least one test from the set of tests further comprises program instructions to select the at least one test from the set of tests whose metadata corresponds to the received second set of one or more rules. 9. The computer system of claim 6 , wherein the program instructions to select the at least one test from the set of tests whose metadata corresponds to the received first set of one or more rules are performed using a rule inference engine. 10. The computer system of claim 9 , wherein the rule inference engine is implemented with a RETE algorithm. 11. A computer program product for selecting one or more tests for a compiled software module, the computer program product comprising: one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising: program instructions to detect that one or more changes have been made to source code for a software module; program instructions to compile the source code for the software module; program instructions to access a set of tests for the software module; program instructions to access metadata for each test of the set of tests, wherein the metadata for each test of the set of tests comprises a coverage table defining entry points within the software module impacted by the respective test; program instructions to receive a first set of one or more rules describing logical conditions relative to the metadata for the tests, wherein at least a rule of the received first set of one or more rules describes a logical condition to identify entry points of respective coverage tables corresponding to the detected one or more changes to the source code; and program instructions to select at least one test from the set of tests whose metadata corresponds to the received first set of one or more rules. 12. The computer program product of claim 11 , wherein: the metadata for each test further comprises one or more user-defined properties, not derivable from test data; and at least a rule of the received first set of one or more rules describes a logical condition in respect of a user-defined property of the one or more user-defined properties. 13. The computer program product of claim 11 , further comprising: program instructions, stored on the one or more computer readable storage media, to receive a second set of one or more rules describing execution context for the set of tests; and wherein program instructions to select the at least one test from the set of tests further comprise program instructions to select the at least one test from the set of tests whose metadata corresponds to the received second set of one or more rules. 14. The computer program product of claim 11 , wherein the program instructions to select the at least one test from the set of tests whose metadata corresponds to the received first set of one or more rules are performed using a rule inference engine. 15. The computer program product of claim 14 , wherein the rule inference engine is implemented with a RETE algorithm. 16. The computer program product of claim 1 , wherein the coverage table is a matrix, wherein: each row of the matrix represents an entry point; each column of the matrix represents a function; and each cell represents whether the function of the corresponding column is called by the entry point of the corresponding row.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9734043B2 cover?
In a method for selecting one or more tests for a compiled software module, a processor detects that one or more changes have been made to source code for a software module. A processor compiles the source code for the software module. A processor accesses a set of tests for the software module. A processor accesses metadata for each test of the set of tests. A processor receives a first set of…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3676. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 15 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).