IP Library Granted Patent US 9,396,100
Granted Patent B2
US 9,396,100 · App. 14/561,445 · Granted Jul 19, 2016

Software testing optimizer

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,396,100
App. No.
14/561,445
Granted
Jul 19, 2016
Kind
B2
Abstract

In an approach for testing software, a computer receives a series of two or more revisions to a set of software code. The computer identifies modifications between the series of two or more revisions. The computer categorizes the series of two or more revisions into one or more categories of revisions based on the identified modifications. The computer tests at least one of the series of two or more revisions from at least one of the one or more categories of revisions.

Claims (50)

1. A computer program product for testing software, 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 receive a series of two or more revisions to a set of software code;

program instructions to identify a first revision and a second revision within the series of two or more revisions, wherein the first revision occurs immediately prior to the second revision; and

program instructions to identify a number of modifications between the first revision and the second revision based on one or more of: a number of added lines of source code, a number of changed lines of source code, and a number of deleted lines of source code;

program instructions to retrieve one or more historical data values, wherein the one or more historical data values tracks a number of times a failure occurs with the identified modifications for the series of two or more revisions;

program instructions to calculate one or more weighted values by applying predetermined weights to the one or more retrieved historical data values and the identified modifications for the series of two or more revisions; and

program instructions to calculate overall revision scores for revisions included in the series of two or more revisions based on the one or more calculated weighted values

program instructions to determine a highest overall revision score from the calculated overall revision scores;

program instructions to calculate a threshold as a percentage of the highest overall revision score;

program instructions to identify one or more revisions from the series of two or more revisions with corresponding determined overall revision scores equal to or greater than the calculated threshold to be critical revisions; and

program instructions to identify one or more revisions from the series of two or more revisions with corresponding determined overall revision scores less than the calculated threshold to be trivial revisions;

program instructions to identify one or more critical revisions;

program instructions to determine a critical revision from the identified one or more critical revisions;

program instructions to test the determined critical revision;

program instructions to determine whether the tested critical revision passed;

responsive to determining the tested critical revision failed; program instructions to to determine whether a previous untested critical revision remains in the identified one or more critical revisions;

program instructions to identify the previous untested critical revision respective to the tested critical revision; and

program instructions to test the identified previous untested critical revision.

2. The computer program product of claim 1 , further comprising program instructions, stored on the one or more computer readable storage media, to:

determine a sample space wherein the sample space comprises one of:

one or more trivial revisions between a passing critical revision and a failing critical revision in the series of two or more revisions;

one or more trivial revisions between a failing critical revision and an oldest trivial revision in the series of two or more revisions; and

one or more trivial revisions between a passing critical revision and a most recent trivial revision in the series of two or more revisions.

3. A computer system for testing software, the computer system comprising:

one or more computer processors;

one or more computer readable storage media;

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 receive a series of two or more revisions to a set of software code;

identify a first revision and a second revision within the series of two or more revisions, wherein the first revision occurs immediately prior to the second revision;

identify a number of modifications between the first revision and the second revision based on one or more of: a number of added lines of source code, a number of changed lines of source code, and a number of deleted lines of source code;

retrieve one or more historical data values, wherein the one or more historical data values tracks a number of times a failure occurs with the identified modifications for the series of two or more revisions;

calculate one or more weighted values by applying predetermined weights to the one or more retrieved historical data values and the identified modifications for the series of two or more revisions;

calculate overall revision scores for revisions included in the series of two or more revisions based on the one or more calculated weighted values

determine a highest overall revision score from the calculated overall revision scores;

calculate a threshold as a percentage of the highest overall revision score;

identify one or more revisions from the series of two or more revisions with corresponding determined overall revision scores equal to or greater than the calculated threshold to be critical revisions; and

identify one or more revisions from the series of two or more revisions with corresponding determined overall revision scores less than the calculated threshold to be trivial revisions

identify one or more critical revisions;

determine a critical revision from the identified one or more critical revisions;

test the determined critical revision;

determine whether the tested critical revision passed;

responsive to determining the tested critical revision failed; to determine whether a previous untested critical revision remains in the identified one or more critical revisions;

identify the previous untested critical revision respective to the tested critical revision; and

test the identified previous untested critical revision.

4. The computer system of claim 3 , further comprising program instructions, stored on the one or more computer readable storage media, to:

determine a sample space wherein the sample space comprises one of:

one or more trivial revisions between a passing critical revision and a failing critical revision in the series of two or more revisions;

one or more trivial revisions between a failing critical revision and an oldest trivial revision in the series of two or more revisions; and

one or more trivial revisions between a passing critical revision and a most recent trivial revision in the series of two or more revisions.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2014
From: DOS SANTOS, TIAGO N.; FOLCO, RAFAEL C.S.; LEITAO, BRENO H.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 034536/0531 →