US 12,423,092 B2
System and method for classifying software code based on functionality and criticality
Sakshi Bakshi, New Delhi (IN); Sudhakar Balu, Chennai (IN); and Siva Kumar Paini, Telangana (IN)
Assigned to Bank of America Corporation, Charlotte, NC (US)
Filed by Bank of America Corporation, Charlotte, NC (US)
Filed on Sep. 18, 2023, as Appl. No. 18/468,763.
Prior Publication US 2025/0094166 A1, Mar. 20, 2025
Int. Cl. G06F 8/00 (2018.01); G06F 8/65 (2018.01); G06F 8/70 (2018.01)
CPC G06F 8/70 (2013.01) [G06F 8/65 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system for classifying software code, comprising:
a memory configured to store:
a first log file comprising information about historical executions of a first software code; and
a second log file comprising information about historical executions of a second software code; and
a processor operably coupled to the memory, and configured to:
access the first log file and the second log file;
determine a first function of the first software code from the first log file;
determine a first set of operations performed by the first software code from the first log file;
determine that a first number of the first set of operations is within a first range of values;
determine a first criticality level of the first software code based at least in part upon determining that the first number of the first set of operations is within the first range of values;
determine a second function of the second software code from the second log file;
determine a second set of operations performed by the second software code from the second log file;
determine that a second number of the second set of operations is within the first range of values;
determine a second criticality level of the second software code based at least in part upon determining that the second number of the second set of operations is within the first range of values;
compare each operation from among the first set of operations with a counterpart operation from among the second set of operations;
determine, based at least in part upon the comparison of each operation, that the first software code has at least one operation in common with the second software code based at least in part upon the first set of operations and the second set of operations;
compare the first function of the first software code with the second function of the second software code;
determine, based at least in part upon the comparison of the first function and with the second function, that the first function of the first software code corresponds to the second function of the second software code;
classify the first software code and the second software code in a first group, in response to:
determining that the first software code has at least one operation in common with the second software code;
determining that the first criticality level corresponds to the second criticality level; and
determining that the first function of the first software code corresponds to the second function of the second software code;
receive a request to update one or more software codes associated with the first function; and
in response to receiving the request, execute a first update instruction that causes at least a first portion of the first software code and a second portion of the second software code that are related to the first function to be updated.