IP Library Granted Patent US 9,582,271
Granted Patent B2
US 9,582,271 · App. 14/686,088 · Granted Feb 28, 2017

Systems and methods for identifying software performance influencers

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,582,271
App. No.
14/686,088
Granted
Feb 28, 2017
Kind
B2
Abstract

Described are a system and method for identifying variables which impact performance of software under development. Data is collected that is related to performance characteristics of the software under development. Performance change gradients are determined between previous builds of the software under development. A set of performance change factors are generated from the collected data that corresponds to each performance change gradient. Performance characteristic data corresponding to a current build of the software under development are compared to the performance change gradients. At least one fault component from the set of performance change factors that influences performance of the current build is output in response to the comparison between the performance characteristic data corresponding to the current build and the plurality of performance change gradients.

Claims (21)

1. A computer-implemented method of identifying variables which impact performance of software under development, comprising:

collecting data of a current software build related to performance characteristics of the software under development;

performing a linear regression operation on the collected data according to the function ƒ(I i , . . . I j )=Δx+c, where I i is a start build entry of the current software build, I j is an end build entry of the current software build, Δx is a performance change gradient between the start build entry and the end build entry, and c is a constant;

determining from the linear regression operation at least one of the performance change gradient Δx and the constant c; and

generating a performance change factor from the collected data that corresponds to the performance change gradient.

2. The method of claim 1 , further comprising:

comparing performance characteristic data corresponding to the current build of the software under development to the performance change gradient; and

outputting at least one fault component from a set of performance change factors that influences performance of the current build in response to the comparison between the performance characteristic data corresponding to the current build and the plurality of performance change gradients.

3. The method of claim 2 , wherein comparing the performance characteristic data to the performance change gradients comprises:

determining a historical performance change gradient between two or more builds between the start build and the end build;

determining a performance change factor from the collected data that corresponds to each historical performance change gradient; and

comparing performance characteristic data corresponding to a performance change gradient between a current build of the software under development and a previous build of the software under development to the historical performance change gradients.

4. The method of claim 2 , wherein the performance characteristic data of the current build includes data related to a performance improvement or a performance lag of the current build.

5. The method of claim 2 further comprising displaying a history of changes made to the at least one fault component.

6. The method of claim 1 , wherein the start build entry includes one of positive performance change data and negative performance change data corresponding to a first build of the software under development;

receiving subsequent entries from the collected set of data, each subsequent entry including the one of positive performance change data and negative performance change data corresponding to the subsequent entry, until the end build entry is received that includes the other of the positive performance change data and the negative performance change data; and

performing the linear regression operation on the one of the positive performance change data and the negative performance change data corresponding to the start build entry and the subsequent entries to produce a performance a performance change gradient between the start build and end build entries.

7. The method of claim 6 further comprising creating a performance change lookup table from the collected set of data, the performance change lookup table including the start build entry, the subsequent entries, the end build entry, the performance change gradients determined by the linear regression operation, and fault components corresponding to each performance change gradient.

8. The method of claim 1 , wherein the collected set of data includes at least one of software changes between previous builds of the software under development, performance data pertaining to the previous builds, source code version information, and operating environment data.

9. The method of claim 8 , wherein the operating environment data includes at least one of hardware configuration information, software component version information, dependent binary change information, and operating system version information.

10. The method of claim 1 , wherein the collected set of data is provided by a version control system, the version control system including source code version control software.

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 Nov 13, 2015
From: KANNAN, RAMAKRISHNAN; MANI, ANBAZHAGAN; RAVINDRAN, RAJAN; SUBBIAN, KARTHIK
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037032/0176 →