Machine-learning based software testing technique

US12339764B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12339764-B2
Application numberUS-202018007246-A
CountryUS
Kind codeB2
Filing dateJul 31, 2020
Priority dateJul 31, 2020
Publication dateJun 24, 2025
Grant dateJun 24, 2025

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 technique of training a model for determining a test case for software testing is presented, wherein the software testing is based on a set of test cases built for a set of software modules comprised by a software to be tested. The technique uses artificial intelligence and comprises obtaining log information resulting from execution of each of the test cases, wherein the log information is obtained per software module and per executed test case, and performing supervised machine learning based on the log information obtained per software module and per executed test case as input to train a model for predicting the executed test case.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of training a model for determining a test case (Ti) for software testing, wherein the software testing is based on a set of test cases built for a set of software modules (Mj) comprised by a software to be tested, the method comprising: obtaining log information resulting from execution of each of the test cases, the log information being obtained per software module and per executed test case, the log information comprising one or more logged events; performing supervised machine learning based on the log information obtained per software module and per executed test case as input to train a model for predicting the executed test case, the input to the model being representable as a set of training vectors, each training vector being associated with a particular executed test case and having a dimension corresponding to a number of software modules comprised by the set of software modules, each training vector having vector components derived from the log information; and processing the log information prior to deriving the vector components, processing the log information obtained for a particular software module comprising pruning a portion of the log information pertaining to one or more logged events repeatedly occurring upon execution of the particular software module across the test cases. 2. The method of claim 1 , wherein an output of the model is representable as a one hot vector indicative of the executed test case. 3. The method of claim 1 , wherein the vector components for a given software module in different training vectors are weighted relative to each other across the executed test cases to reflect an amount of log information created by the given software module upon execution of a particular test case relative to an amount of log information created by the given software module upon execution of another test case. 4. The method of claim 1 , wherein the log information is contained as logged events in a log file created per test case execution and per software module. 5. The method of claim 3 , wherein the amount of log information is derived from a number of logged events contained in a particular log file. 6. The method of claim 1 , wherein the amount of log information is defined by the number of logged events contained in a particular log file after logged events repeatedly occurring upon execution of the particular software model across the test cases have been pruned. 7. The method of claim 1 , wherein deriving a vector component for a given executed test case and a given software module comprises normalizing an amount of log information created for the given test case and the given software module relative to a maximum amount of log information created for the given software module upon execution of any of the test cases. 8. The method of claim 1 , wherein the model comprises a neural network. 9. The method of claim 1 , comprising using the trained model for determining at least one test case for software testing. 10. The method of claim 9 , wherein the software to be tested comprises a new release of the set of software modules in which at least one of the software modules was modified compared to an earlier release of the software modules. 11. The method of claim 10 , comprising determining, per software module, if the software module in the new release was modified relative to the earlier release. 12. The method of claim 11 , comprising generating an input vector having a dimension corresponding to a number of software modules comprised by the set of software modules, with the input vector having vector components quantifying a modification of the respective software module. 13. The method of claim 12 , wherein the vector components are one of integers, floating point numbers and binary values. 14. The method of claim 12 , wherein determining the at least one test case for the new release of software modules comprises inputting the input vector to the trained model. 15. A method of determining at least one test case (Ti) for software testing out of a set of test cases built for a set of new software modules (Mi) comprised by a software to be tested, the method comprising: obtaining a trained model configured to predict the at least one test case; obtaining the software to be tested, in the new release of the software modules at least one of the software modules having been modified compared to an earlier release of the software modules; determining, per software module, if the software module in the new release was modified relative to the earlier release; generating a data structure representable as an input vector having a dimension corresponding to a number of software modules comprised by the set of software modules, with the input vector having vector components quantifying a modification of the respective software module; and determining the at least one test case for the new release of software modules based on an output of the trained model using the data structure as an input. 16. An apparatus configured to train a model for determining a test case (Ti) for software testing, wherein the software testing is based on a set of test cases built for a set of software modules (Mj) comprised by a software to be tested, the apparatus comprising a processor configured to: obtain log information resulting from execution of each of the test cases, the log information being obtained per software module and per executed test case, the log information comprising one or more logged events; perform supervised machine learning based on the log information obtained per software module and per executed test case as input to train a model for predicting the executed test case, the input to the model being representable as a set of training vectors, each training vector being associated with a particular executed test case and having a dimension corresponding to a number of software modules comprised by the set of software modules, each training vector having vector components derived from the log information; and process the log information prior to deriving the vector components, processing the log information obtained for a particular software module comprising pruning a portion of the log information pertaining to one or more logged events repeatedly occurring upon execution of the particular software module across the test cases. 17. An apparatus configured to determine at least one test case (Ti) for software testing out of a set of test cases built for a set of new software modules (Mi) comprised by a software to be tested, the apparatus comprising a processor configured to: obtain a trained model configured to predict the at least one test case; obtain the software to be tested, in the new release of the software modules at least one of the software modules having been modified compared to an earlier release of the software modules; determine, per software module, if the software module in the new release was modified relative to the earlier release; generate a data structure representable as an input vector having a dimension corresponding to a number of software modules comprised by the set of software modules, with the input vector having vector components quantifying a modification of the respective software module; and determine the at least one test case for the new release of software modules based on an output of the trained model using the data structure as an input.

Assignees

Inventors

Classifications

  • for coverage analysis · CPC title

  • for test execution, e.g. scheduling of test suites · CPC title

  • G06F11/368Primary

    for test version control, e.g. updating test cases to a new software version · 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 US12339764B2 cover?
A technique of training a model for determining a test case for software testing is presented, wherein the software testing is based on a set of test cases built for a set of software modules comprised by a software to be tested. The technique uses artificial intelligence and comprises obtaining log information resulting from execution of each of the test cases, wherein the log information is o…
Who is the assignee on this patent?
Ericsson Telefon Ab L M
What technology area does this patent fall under?
Primary CPC classification G06F11/3688. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 24 2025 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).