US 12,430,126 B1
Optimization of source code to address inefficiencies
Colleen Kimball, Eden Prairie, MN (US); and Judson Powers, Eden Prairie, MN (US)
Assigned to Architecture Technology Corporation, Eden Prairie, MN (US)
Filed by Architecture Technology Corporation, Eden Prairie, MN (US)
Filed on Jan. 18, 2023, as Appl. No. 18/098,557.
Application 18/098,557 is a continuation of application No. 17/353,501, filed on Jun. 21, 2021, granted, now 11,599,356.
Application 17/353,501 is a continuation of application No. 16/780,664, filed on Feb. 3, 2020, granted, now 11,042,369, issued on Jun. 22, 2021.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 8/72 (2018.01); G06F 8/34 (2018.01); G06F 8/41 (2018.01); G06F 9/54 (2006.01); G06F 11/30 (2006.01); G06F 11/34 (2006.01); G06F 11/3668 (2025.01); G06N 20/00 (2019.01)
CPC G06F 8/72 (2013.01) [G06F 8/34 (2013.01); G06F 8/42 (2013.01); G06F 9/541 (2013.01); G06F 11/302 (2013.01); G06F 11/3495 (2013.01); G06F 11/3688 (2013.01); G06N 20/00 (2019.01)] 18 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
training, by a computing device, a machine learning (ML) model using historical data including a first source code of a first function, a first code violation associated with an inefficiency in the first source code of the first function, and one or more first refactoring actions identified for the first code violation;
selecting, by the computing device, from a code base for a plurality of functions of a software program, second source code of a second function for refactoring based on a performance profile identifying a performance statistic generated for each of the plurality of functions invoked during runtime of the software program;
identifying, by the computing device, an inefficiency corresponding to a second code violation-within the second source code of the second function by providing the second source code as input to the ML model to parse the second source code of the second function for the second code violation corresponding to the inefficiency;
determining, by the computing device, from providing the second source code as input to the ML model, one or more second refactoring actions to update the second source code based upon the inefficiency identified within the second source code; and
generating, by the computing device, updated second source code by removing the second code violation in the second source code in accordance with a refactoring action of the one or more second refactoring actions.