Source code bug prediction
US-2018150742-A1 · May 31, 2018 · US
US10915435B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10915435-B2 |
| Application number | US-201816202877-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 28, 2018 |
| Priority date | Nov 28, 2018 |
| Publication date | Feb 9, 2021 |
| Grant date | Feb 9, 2021 |
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.
Methods and systems for a deep learning based problem advisor are disclosed. A method includes: obtaining, by a computing device, a log file including events generated during execution of a software application; determining, by the computing device, at least one possible cause for a problem in the software application using the obtained log file and a knowledge base including calling paths for each of a plurality of methods in source code of the software application; for each of the at least one possible cause for the problem, the computing device simulating user actions in the software application; and determining, by the computing device, a root cause based on the simulating user actions in the software application.
Opening claim text (preview).
What is claimed is: 1. A method comprising: obtaining, by a computing device, a log file including events generated during execution of a software application; determining, by the computing device, at least one possible cause for a problem in the software application using the obtained log file and a knowledge base including calling paths for each of a plurality of methods in source code of the software application; for each of the at least one possible cause for the problem, the computing device simulating user actions in the software application on different environments; determining, by the computing device, a root cause based on the simulating user actions in the software application; and in response to determining the root cause, the computing device automatically updating the source code of the software application using a verified source code fix for the problem, wherein the verified source code fix is included in the knowledge base and comprises updated source code. 2. The method according to claim 1 , wherein the root cause is one of the at least one possible cause and comprises a running path with a source code calling stack. 3. The method according to claim 1 , further comprising determining, by the computing device, a user scenario to reproduce the problem in the software application. 4. The method according to claim 3 , further comprising: outputting, by the computing device, the root cause and the user scenario to reproduce the problem in the software application; and receiving, by the computing device, feedback from a user on the root cause and the user scenario to reproduce the problem in the software application. 5. The method according to claim 4 , further comprising updating, by the computing device, the knowledge base using the received feedback from the user. 6. The method according to claim 1 , further comprising: receiving, by the computing device from a user, a log focus; and sorting, by the computing device, the obtained log file based on the log focus. 7. The method according to claim 1 , wherein the determining the at least one possible cause for the problem in the software application comprises performing static analysis on the obtained log file. 8. The method according to claim 1 , wherein dynamic analysis is performed in the simulating user actions in the software application. 9. The method according to claim 1 , further comprising: receiving, by the computing device, feedback comprising the updated source code; and determining, by the computing device, that the updated source code is the verified source code fix by re-running a problem path in the software application. 10. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to: create a directed graph including calling paths for each of a plurality of methods in source code of a software application; obtain a log file including events generated during execution of the software application; generate calling path ratings by performing static analysis on each of the calling paths for each of the plurality of methods in the source code of the software application; generate a knowledge base using the calling paths for each of the plurality of methods in the source code of the software application and the calling path ratings, obtain an updated log file; determine a root cause for a problem in the software application using the updated log file and the knowledge base; and in response to determining the root cause, automatically update the source code of the software application using a verified source code fix for the problem, wherein the verified source code fix is included in the knowledge base and comprises updated source code. 11. The computer program product according to claim 10 , the program instructions further being executable by the computing device to cause the computing device to: adjust the calling path ratings by performing dynamic analysis including simulating user actions in the software application; and update the knowledge base using the adjusted calling path ratings. 12. The computer program product according to claim 10 , the program instructions further being executable by the computing device to cause the computing device to: for each of at least one possible cause for the problem, simulate user actions in the software application; and determine the root cause from each of the at least one possible cause based on the simulated user actions in the software application. 13. The computer program product according to claim 12 , wherein the root cause is one of the at least one possible cause and comprises a running path with a source code calling stack. 14. The computer program product according to claim 12 , the program instructions further being executable by the computing device to cause the computing device to determine a user scenario to reproduce the problem in the software application. 15. The computer program product according to claim 14 , the program instructions further being executable by the computing device to cause the computing device to: output the root cause and the user scenario to reproduce the problem in the software application; and receive feedback from a user on the root cause and the user scenario to reproduce the problem in the software application. 16. The computer program product according to claim 15 , the program instructions further being executable by the computing device to cause the computing device to update the knowledge base using the received feedback from the user. 17. A system comprising: a hardware processor, a computer readable memory, and a computer readable storage medium associated with a computing device; program instructions to obtain a log file including events generated during execution of a software application; program instructions to determine at least one possible cause for a problem in the software application using the obtained log file and a knowledge base including calling paths for each of a plurality of methods in source code of the software application; program instructions to, for each of the at least one possible cause for the problem, simulate user actions in the software application on different environments; program instructions to determine a root cause from each of the at least one possible cause based on the simulating user actions in the software application; and in response to determining the root cause, automatically update the source code of the software application using a verified source code fix for the problem, wherein: the verified source code fix is included in the knowledge base and comprises updated source code, and the program instructions are stored on the computer readable storage medium for execution by the hardware processor via the computer readable memory. 18. The system according to claim 17 , wherein the root cause is one of the at least one possible cause and comprises a running path with a source code calling stack. 19. The system according to claim 17 , further comprising program instructions to determine a user scenario to reproduce the problem in the software application. 20. The system according to claim 19 , further comprising: program instructions to output the root cause and the user scenario to reproduce the problem in the software application; program instructions to receive feedback from a user on the root cause and th
Environments for analysis, debugging or testing of software · CPC title
Dependency analysis; Data or control flow analysis · CPC title
for test execution, e.g. scheduling of test suites · CPC title
Knowledge engineering; Knowledge acquisition · CPC title
for test results analysis · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.