IP Library Granted Patent US 12,443,725
Granted Patent B2
US 12,443,725 · App. 18/405,640 · Granted Oct 14, 2025

Assessing status changes caused by modifications to software applications

Inventor: Naveen Kumar Kancham (Glen Allen, VA)
Assignee: Capital One Services, LLC
G06F21/577G06F2221/033
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,443,725
App. No.
18/405,640
Granted
Oct 14, 2025
Kind
B2
Abstract

Methods and systems are described herein for assessing status changes caused by modifications to software applications. The system may identify a status associated with an application. For example, the status may be based on a first length of time that the application is inactive based on a current number of vulnerabilities. The system may detect a modification of a component of the application and may determine, using a machine learning model, a predicted number of vulnerabilities introduced into the application by the modification. The system may identify an updated status associated with the application based on the predicted number of vulnerabilities. The system may determine a difference between the status and the updated status and based on the difference, may cause the modification to cease.

Claims (64)

1. A system for assessing status changes caused by modifications to software applications, the system comprising:

at least one processor, at least one memory, and computer-readable media having computer-executable instructions stored thereon, the computer-executable instructions, when executed by the at least one processor, causing the system to perform operations comprising:

identifying a status associated with a software application based on a first length of time the software application is inactive following a disruption to normal operation;

detecting a modification to the software application, the modification comprising an addition of a component to the software application;

determining, using a machine learning model trained to predict vulnerabilities introduced by modifications to software applications based on historic data, a predicted number of vulnerabilities introduced into the software application by the modification;

identifying an updated status associated with the software application based on a function of (i) a second length of time that the software application is inactive following the disruption to normal operation and (ii) the predicted number of vulnerabilities;

determining a status threshold based on a type of the software application, wherein a first type of software application having a lower importance corresponds to a larger threshold and a second type of software application having a higher importance corresponds to a smaller threshold; and

in response to determining that a difference between the status and the updated status satisfies the status threshold, causing the software application to cease the modification.

2. A method for assessing status changes caused by modifications to software applications, the method comprising:

identifying a status associated with an application based on a first length of time that the application is inactive based on a current number of vulnerabilities;

detecting a modification of a component of the application;

determining, using an artificial intelligence model, a predicted number of vulnerabilities introduced into the application by the modification, wherein the artificial intelligence model is trained to predict, based on historic data, numbers of vulnerabilities introduced by modifications to components of applications;

identifying an updated status associated with the application based on (i) a second length of time that the application is inactive based on the modification and (ii) the predicted number of vulnerabilities;

determining a difference between the status and the updated status; and

based on the difference, causing the application to cease the modification.

3. The method of claim 2 , further comprising:

determining one or more load or stress conditions; and

applying the one or more load or stress conditions to the application.

4. The method of claim 3 , further comprising identifying the first length of time based on response times or lag times of the application under the one or more load or stress conditions.

5. The method of claim 3 , further comprising identifying the second length of time based on response times or lag times of the application with the modification under the one or more load or stress conditions.

6. The method of claim 2 , further comprising:

determining one or more simulations of errors, crashes, or interruptions; and

applying the one or more simulations to the application.

7. The method of claim 6 , further comprising identifying the first length of time based on one or more of a recovery time of the application after each simulation of the one or more simulations, a functionality of the application during the one or more simulations, and the functionality of the application after the one or more simulations.

8. The method of claim 6 , further comprising identifying the second length of time based on one or more of a recovery time of the application with the modification after each simulation of the one or more simulations, a functionality of the application with the modification during the one or more simulations, and the functionality of the application with the modification after the one or more simulations.

9. The method of claim 2 , further comprising:

determining one or more simulations of security threats, the security threats comprising one or more of data breaches, unauthorized access, and malware attacks;

applying the one or more simulations of security threats to the application before the modification; and

determining the current number of vulnerabilities of the application to the security threats under the one or more simulations.

10. The method of claim 2 , further comprising determining a threshold based on a type of the application, wherein a first type of application having a lower importance corresponds to a larger threshold and a second type of application having a higher importance corresponds to a smaller threshold.

11. The method of claim 10 , wherein causing the application to cease the modification based on the difference comprises:

determining that the difference satisfies the threshold; and

in response to determining that the difference satisfies the threshold, causing the application to cease the modification.

12. The method of claim 2 , wherein identifying the updated status comprises:

assigning first weights to the second length of time and assigning second weights the predicted number of vulnerabilities; and

identifying a weighted average of (i) the second length of time and (ii) the predicted number of vulnerabilities.

13. The method of claim 2 , wherein the modification comprises an addition of the component to the application, further comprising:

determining a third length of time associated with the component;

determining that the third length of time is longer than the first length of time; and

in response to determining that the third length of time is longer than the first length of time, identifying the updated status based on (i) the second length of time and (ii) the predicted number of vulnerabilities, wherein the second length of time is equal to the third length of time.

14. The method of claim 2 , wherein the modification comprises an addition of the component to the application, further comprising:

determining a third length of time associated with the component;

determining that the third length of time is shorter than the first length of time; and

in response to determining that the third length of time is shorter than the first length of time, identifying the updated status based on (i) the second length of time and (ii) the predicted number of vulnerabilities, wherein the second length of time is equal to the first length of time.

15. The method of claim 2 , further comprising:

receiving an instruction to retire the application;

in response to receiving the instruction to retire the application, determining a final status associated with the application based on (i) a third length of time that the application is inactive at the time of receiving the instruction and (ii) a final number of vulnerabilities at the time of receiving the instruction; and

based on the final status of the application having a nonzero value, outputting a notification indicating that the application cannot retire.

16. One or more non-transitory, computer-readable media storing instructions that when executed by one or more processors cause the one or more processors to perform operations comprising:

identifying a status associated with an application based on a first length of time that the application is inactive based on a current number of vulnerabilities;

detecting a modification of a component of the application;

determining, using an artificial intelligence model, a predicted number of vulnerabilities introduced into the application by the modification, wherein the artificial intelligence model is trained to predict, based on historic data, numbers of vulnerabilities introduced by modifications to components of applications;

identifying an updated status associated with the application based on (i) a second length of time that the application is inactive based on the modification and (ii) the predicted number of vulnerabilities;

determining a difference between the status and the updated status; and

based on the difference, causing the application to cease the modification.

17. The one or more non-transitory, computer-readable media of claim 16 , wherein the instructions further cause the one or more processors to perform operations comprising:

determining one or more load or stress conditions; and

applying the one or more load or stress conditions to the application.

18. The one or more non-transitory, computer-readable media of claim 17 , wherein the instructions further cause the one or more processors to perform operations comprising identifying the first length of time based on response times or lag times of the application under the one or more load or stress conditions.

19. The one or more non-transitory, computer-readable media of claim 17 , wherein the instructions further cause the one or more processors to perform operations comprising identifying the second length of time based on response times or lag times of the application with the modification under the one or more load or stress conditions.

20. The one or more non-transitory, computer-readable media of claim 16 , wherein the instructions further cause the one or more processors to perform operations comprising:

determining one or more simulations of security threats, the security threats comprising one or more of data breaches, unauthorized access, and malware attacks;

applying the one or more simulations of security threats to the application before the modification; and

determining the current number of vulnerabilities of the application to the security threats under the one or more simulations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2024
From: KANCHAM, NAVEEN KUMAR
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 066037/0402 →
Continuity (1)
Related Publication 20250225252A1 · Jul 10, 2025
References Cited (6)
US 20120137369A1 · Shin · 2012 [cited by examiner]
US 20120188996A1 · Roka · 2012 [cited by examiner]
US 20190370468A1 · Soby · 2019 [cited by examiner]
US 20190379699A1 · Katragadda · 2019 [cited by examiner]
US 20210092105A1 · Yu · 2021 [cited by examiner]
US 20230036730A1 · Casa · 2023 [cited by examiner]