US 12,135,967 B2
Software code refactoring prioritization using software code defect aggregation in graphical code representation
Anat Parush Tzur, Beer Sheva (IL); Amihai Savir, Newton, MA (US); and Or Herman Saffar, Ofakim (IL)
Assigned to Dell Products L.P., Round Rock, TX (US)
Filed by Dell Products L.P., Round Rock, TX (US)
Filed on May 12, 2022, as Appl. No. 17/742,922.
Prior Publication US 2023/0367588 A1, Nov. 16, 2023
Int. Cl. G06F 8/72 (2018.01); G06F 8/65 (2018.01)
CPC G06F 8/72 (2013.01) [G06F 8/65 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
obtaining an indication of at least one error in software code;
obtaining a processor-readable graphical representation of the software code, wherein the processor-readable graphical representation comprises a plurality of nodes, wherein each node in the processor-readable graphical representation corresponds to at least one function of the software code and wherein two or more nodes in the processor-readable graphical representation are connected based at least in part on a hierarchical relationship between the nodes,
wherein at least one node in the processor-readable graphical representation of the software code comprises a weight that corresponds to at least one function of the software code associated with the at least one error,
wherein at least one additional node comprises a decayed weight, wherein the at least one additional node has a hierarchical relationship with the at least one node, and wherein the decayed weight for the at least one additional node is automatically determined by at least one processing device that (i) obtains the weight assigned to the at least one node, (ii) applies a decay function to the obtained weight based at least in part on the hierarchical relationship between the at least one node and one or more of the at least one additional node, and (iii) recursively propagates the decayed weight to one or more ancestor nodes of the at least one node; and
automatically initiating a code refactoring of one or more corresponding functions of the software code based at least in part on a prioritization of the plurality of nodes using the weights assigned to each node;
wherein the method is performed by at least one processing device comprising a hardware-based processor coupled to a memory.