IP Library Granted Patent US 12,505,377
Granted Patent B2
US 12,505,377 · App. 17/236,892 · Granted Dec 23, 2025

System and method for assigning performance defects to software processing components

Inventors: Tuan Anh Nguyen (San Jose, CA); Shashikanth Lakshmikantha (San Jose, CA); Philip Shilane (Newtown, PA)
Assignee: EMC IP HOLDING COMPANY LLC
G06N20/00G06F11/3612G06F16/1734G06N3/09
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 12,505,377
App. No.
17/236,892
Granted
Dec 23, 2025
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method, a system, and a non-transitory machine-readable medium for assigning performance defects to software processing components. Provided is a method that receives performance data of a set of performance runs of a software application across a set of software processing components of a file software system, where the performance data comprises multiple labeled performance features that are associated with the set of software processing components; receives, from a software processing component expert, a user-selection of a subset of labeled performance features of the several labeled performance features; and trains a machine learning (ML) model to determine whether one or more of the set of software processing components is associated with performance regressions of the software application, using the subset of labeled performance features of the performance data as training data.

Claims (37)

1 . A method comprising:

performing a set of performance runs of a software application across a set of software processing components of a file system, wherein the set of performance runs comprises a performance regression;

receiving performance data of the set of performance runs, wherein the performance data comprises a plurality of labeled performance features that are associated with the set of software processing components;

receiving, from a user device, a user-selection of a subset of labeled performance features of the plurality of labeled performance features via a user interface displayed on the user device, wherein the user interface includes the plurality of labeled performance features; and

training a machine learning (ML) model to determine whether one or more of the set of software processing components of the file system is associated with performance defects of the software application, using the subset of labeled performance features of the performance data as training data, and assign the one or more of the set of software processing components of the file system to one or more users when the ML model determines that the one or more of the set of software processing components of the file system is associated with the performance defects.

2 . The method of claim 1 , wherein at least one of the set of performance runs of the software application is a performance defect in which one or more software processing components of the set of software processing components performed below a performance threshold.

3 . The method of claim 2 , wherein the subset of labeled performance features are associated with a subset of the one or more software processing components that are responsible for the performance defect.

4 . The method of claim 1 further comprising generating synthetic performance data using the subset of labeled performance features, wherein the training data further comprises the synthetic performance data.

5 . The method of claim 4 , wherein the user-selection of the subset of labeled performance features reduces the performance data used as training data by removing data associated with the unselected labeled performance features, wherein the synthetic performance data includes more data of the subset of labeled performance features than the reduced performance data.

6 . The method of claim 4 further comprising

identifying labeled performance features of the subset from a performance run of the set of performance runs that is not a performance defect of the software application,

wherein generating the synthetic performance data comprises varying each of the identified labeled performance features from the performance run within a predefined range.

7 . The method of claim 1 , wherein the ML model is one of a decision tree, a random forest, a recurrent neural network (RNN), a long short term memory (LSTM) neural network, and a multi-head attention.

8 . The method of claim 1 , wherein at least one labeled performance feature indicates a usage of a resource of an electronic device by a software processing component during a performance run of the software application.

9 . A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:

performing a set of performance runs of a software application across a set of software processing components of a file system, wherein the set of performance runs comprises a performance regression;

receiving performance data of the set of performance runs, wherein the performance data comprises a plurality of labeled performance features that are associated with the set of software processing components;

receiving, from a user device, a user-selection of a subset of the labeled performance features of the plurality of labeled performance features via a user interface displayed on the user device, wherein the user interface includes the plurality of labeled performance features; and

training a machine learning (ML) model to determine whether one or more of the set of software processing components of the file system is associated with performance defects of the software application, using the subset of labeled performance features of the performance data as training data, and assign the one or more of the set of software processing components of the file system to one or more users when the ML model determines that the one or more of the set of software processing components of the file system is associated with the performance defects.

10 . The non-transitory machine-readable medium of claim 9 , wherein at least one of the set of performance runs of the software application is a performance defect in which one or more software processing components of the set of software processing components performed below a performance threshold.

11 . The non-transitory machine-readable medium of claim 10 , wherein the subset of labeled performance features are associated with a subset of the one or more software processing components that are responsible for the performance defect.

12 . The non-transitory machine-readable medium of claim 9 , wherein the operations further comprise generating synthetic performance data using the subset of labeled performance features, wherein the training data further comprises the synthetic performance data.

13 . The non-transitory machine-readable medium of claim 12 , wherein the user-selection of the subset of labeled performance features reduces the performance data used as training data by removing data associated with the unselected labeled performance features, wherein the synthetic performance data includes more data of the subset of labeled performance features than the reduced performance data.

14 . The non-transitory machine-readable medium of claim 12 , wherein the operations further comprise:

identifying labeled performance features of the subset from a performance run of the set of performance runs that is not a performance defect of the software application,

wherein generating the synthetic performance data comprises varying each of the identified labeled performance features from the performance run within a predefined range.

15 . The non-transitory machine-readable medium of claim 9 , wherein the ML model is one of a decision tree, a random forest, a recurrent neural network (RNN), a long short term memory (LSTM) neural network, and a multi-head attention.

16 . The non-transitory machine-readable medium of claim 9 , wherein at least one labeled performance feature indicates a usage of a resource of an electronic device by a software processing component during a performance run of the software application.

17 . A method comprising:

receiving performance data of a performance defect of a software application across a set of software processing components of a file system; and

determining, using a machine learning (ML) model that has an input based on the performance data of the performance defect, a software processing component of the set of software processing components that has a performance defect,

wherein the performance data includes a plurality of labeled performance features that are associated with the set of software processing components,

wherein the ML model has been trained, using a subset of the labeled performance features that have been user-selected, via a user interface displayed on a user device, from the plurality of labeled performance features as training data, to determine whether one or more of the set of software processing components of the file system is associated with performance defects of the software application, and assign the one or more of the set of software processing components of the file system to one or more users when the ML model determines that the one or more of the set of software processing components of the file system is associated with the performance defects,

wherein the user interface includes the plurality of labeled performance features.

18 . The method of claim 17 , wherein the subset of labeled performance features are associated with a subset of software processing components, wherein the determined software processing component is a part of the subset.

19 . The method of claim 17 , wherein the set of software processing components comprises at least one of a protocol layer, a file manager, a content store, a segment store, a container manager, and a storage layer.

20 . The method of claim 17 further comprises assigning the performance defect to a user who specializes in the software processing component.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2021
From: NGUYEN, TUAN ANH; LAKSHMIKANTHA, SHASHIKANTH; SHILANE, PHILIP
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055995/0076 →
Continuity (1)
Related Publication 20220343206A1 · Oct 27, 2022
References Cited (8)
US 10216558B1 · Gaber · 2019 [cited by examiner]
US 20210406727A1 · Wang · 2021 [cited by examiner]
US 20220019496A1 · Lozano · 2022 [cited by examiner]
US 20220129337A1 · Hermanns · 2022 [cited by examiner]
US 20220391643A1 · Mansour · 2022 [cited by examiner]
Zhang et al., “Software Component Prediction for Bug Reports”, 2019, Proceedings of Machine Learning Research vol. 101, pp. 806-821. [cited by applicant]
Lu et al., “Making Disk Failure Predictions SMARTer!”, Proceedings of the 18th USENIX Conference on File and Storage Technologies (FAST '20) Feb. 25-27, 2020. [cited by applicant]
Castelluccio et al., “Teaching machines to triage Firefox bugs”, Apr. 9, 2019, available online at <https://hacks.mozilla.org/2019/04/teaching-machines-to-triage-firefox-bugs/>. [cited by applicant]