Method and system for generating unit tests using machine learning

US11074163B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11074163-B2
Application numberUS-201916674051-A
CountryUS
Kind codeB2
Filing dateNov 5, 2019
Priority dateNov 5, 2019
Publication dateJul 27, 2021
Grant dateJul 27, 2021

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.

A method for generating a new test for a set of software code is provided. The method includes accessing a plurality of existing unit tests; implementing a machine learning algorithm; determining intended objectives of the set of software code; selecting a subset of the plurality of existing unit tests based on the determined objectives and an output of the machine learning algorithm; and using the selected unit tests to automatically generate the new test.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for generating a new test for a set of software code, the method being implemented by at least one processor, the method comprising: accessing, by the at least one processor, a plurality of existing unit tests; implementing, by the at least one processor, at least one machine learning algorithm; determining, by the at least one processor, at least one intended objective of the set of software code; generating, by the at least one processor, a model that is based on the plurality of existing unit tests; selecting, by the at least one processor, at least one unit test from among the plurality of existing unit tests based on analyzing the determined at least one intended objective with respect to the model and based on an output of the at least one machine learning algorithm; using, by the at least one processor, the selected at least one unit test to automatically generate the new test; and modifying, by the at least one processor after the new test is generated, the model based on the generated new test. 2. The method of claim 1 , wherein the using the selected at least one unit test to generate the new test comprises modifying the selected at least one unit test based on the determined at least one intended objective. 3. The method of claim 1 , wherein the using the selected at least one unit test to generate the new test is performed based on at least one recurrent neural network (RNN). 4. The method of claim 1 , further comprising generating, by the at least one processor, information that relates to identifying a testing requirement that corresponds to the set of software code. 5. The method of claim 1 , further comprising determining, by the at least one processor, whether the automatically generated new test is a valid test. 6. The method of claim 5 , wherein the determining whether the new test is a valid test is performed based on a PIT testing protocol. 7. The method of claim 5 , wherein the determining whether the automatically generated new test is a valid test comprises obtaining a numerical rating value that relates to a validity of the new test. 8. A computing device configured to implement an execution of a method for generating a new test for a set of software code, the computing device comprising: a processor; a memory; and a communication interface coupled to each of the processor and the memory, wherein the processor is configured to: access a plurality of existing unit tests from the memory; implement at least one machine learning algorithm; determine at least one intended objective of the set of software code; generate a model that is based on the plurality of existing unit tests; select at least one unit test from among the plurality of existing unit tests based on analyzing the determined at least one intended objective with respect to the model and based on an output of the at least one machine learning algorithm; use the selected at least one unit test to automatically generate the new test; and modify, after the new test is generated, the model based on the generated new test. 9. The computing device of claim 8 , wherein the processor is further configured to generate the new test by modifying the selected at least one unit test based on the determined at least one intended objective. 10. The computing device of claim 8 , wherein the processor is further configured to use the selected at least one unit test to generate the new test based on at least one recurrent neural network (RNN). 11. The computing device of claim 8 , wherein the processor is further configured to generate information that relates to identifying a testing requirement that corresponds to the set of software code. 12. The computing device of claim 8 , wherein the processor is further configured to determine whether the automatically generated new test is a valid test. 13. The computing device of claim 12 , wherein the processor is further configured to determine whether the new test is a valid test based on a PIT testing protocol. 14. The computing device of claim 13 , wherein the processor is further configured to obtain a numerical rating value that relates to a validity of the new test.

Assignees

Inventors

Classifications

  • Recurrent networks, e.g. Hopfield networks · CPC title

  • Supervised learning · CPC title

  • characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU] · CPC title

  • Machine learning · CPC title

  • Learning methods · CPC title

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 US11074163B2 cover?
A method for generating a new test for a set of software code is provided. The method includes accessing a plurality of existing unit tests; implementing a machine learning algorithm; determining intended objectives of the set of software code; selecting a subset of the plurality of existing unit tests based on the determined objectives and an output of the machine learning algorithm; and using…
Who is the assignee on this patent?
Jpmorgan Chase Bank Na
What technology area does this patent fall under?
Primary CPC classification G06F11/3684. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 27 2021 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).