Knowledge graph-based clinical diagnosis assistant
US-2019252074-A1 · Aug 15, 2019 · US
US12135967B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12135967-B2 |
| Application number | US-202217742922-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 12, 2022 |
| Priority date | May 12, 2022 |
| Publication date | Nov 5, 2024 |
| Grant date | Nov 5, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are provided for software code refactoring prioritization using software code defect aggregation in a graphical code representation. One method comprises obtaining an indication of an error in software code; obtaining a graphical representation of the software code, wherein each node in the graphical representation corresponds to a function and wherein nodes are connected based on a hierarchical relationship; assigning a weight to a first node that corresponds to a function associated with the error; assigning a decayed weight to an additional node, selected based on the hierarchical relationship with the first node, wherein the decayed weight is determined by applying a decay function to the weight assigned to the first node; prioritizing nodes in the graphical representation for a code refactoring of the software code based on the weights assigned to each node; and initiating an automated action based on a result of the prioritizing.
Opening claim text (preview).
What is claimed is: 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. 2. The method of claim 1 , wherein the indication of the at least one error further comprises an indication of a severity level of the indicated at least one error and wherein the weight assigned to the at least one node in the graphical representation is based at least in part on the severity level of the indicated at least one error. 3. The method of claim 1 , wherein the graphical representation of the software code comprises a directed acyclic graph, and wherein a cycle in the software code is represented by a single node in the graphical representation. 4. The method of claim 1 , wherein the graphical representation of the software code is generated by executing the software code and obtaining an ordered listing of the functions executed by the software code to determine the connections between each node. 5. The method of claim 1 , further comprising assigning the weight to the at least one node in the graphical representation of the software code by identifying the at least one node that corresponds to the at least one function of the software code that is a cause of the at least one error. 6. The method of claim 1 , wherein the recursively propagating the decayed weight to the one or more ancestor nodes of the at least one node applies the decay function to the decayed weight such that the weight decreases for each traversal from the at least one node to each of the one or more ancestor nodes. 7. The method of claim 1 , further comprising initiating at least one automated action comprising at least one of: generating at least one notification corresponding to at least one of the prioritized plurality of nodes in the graphical representation of the software code; generating update information related to an update of the software code to address the at least one error; generating a description of a plurality of errors in the software code by aggregating descriptions of the plurality of errors as each error is applied to the graphical representation of the software code; traversing the graphical representation of the software code using a graphical user interface to provide an indication of at least one of the prioritized plurality of nodes in the graphical representation; and generating an update of the software code to address the at least one error. 8. The method of claim 1 , wherein the decayed weight for a given additional node of the at least one node is automatically determined by multiplying a severity level of the indicated at least one error by a decay root cause coefficient, raised to a power of a hierarchical level number of the given additional node of the at least one node. 9. An apparatus comprising: at least one processing device comprising a hardware-based processor coupled to a memory; the at least one processing device being configured to implement the following steps: 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. 10. The apparatus of claim 9 , wherein the indication of the at least one error further comprises an indication of a severity level of the indicated at least one error and wherein the weight assigned to the at least one node in the graphical representation is based at least in part on the severity level of the indicated at least one error. 11. The apparatus of claim 9 , wherein the graphical representation of the software code is generated by executing the software code and obtaining an ordered listing of the functions executed by the software code to determine the connections between each node. 12. The apparatus of claim 9 , further comprising assigning the weight to the at least one node in the graphical representation of the software code by identifying the at least one node that corresponds to the at least one function of the software code that is a cause of the at least one error. 13. The apparatus of claim 9 , wherein the recursively propagating the decayed weight to the one or more ancestor nodes of the at least one node applies the decay function to the decayed weight such that the weight decreases for each traversal from the at least one node to each of the one or more ancestor nodes. 14. The apparatus of claim 9 , further comprising initiating at least one automated action comprising at least one of: generating at least one notification corresponding to at least one of the prioritized p
using diagnostics (G06F11/0703 takes precedence) · CPC title
Analysis of software for verifying properties of programs (testing of software G06F11/3668) · CPC title
Updates (security arrangements therefor G06F21/57) · CPC title
Prevention of errors by analysis, debugging or testing of software · CPC title
Code refactoring · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.