Enhancing software development using bug data
US-2018276103-A1 · Sep 27, 2018 · US
US11157390B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11157390-B2 |
| Application number | US-201916456109-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 28, 2019 |
| Priority date | Jun 28, 2019 |
| Publication date | Oct 26, 2021 |
| Grant date | Oct 26, 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.
Disclosed embodiments provide techniques for automatic software defect correction of a computer program. Computer program log files are scanned to identify runtime errors, corresponding to software defects. The software defects are analyzed to determine an error type, and identify the source file/code that caused the error. A solution template repository is searched for a solution template corresponding to the identified error type. If a solution template is found, the source code is checked out from the identified source repository. The template is applied to the “original” checked out source file to create a new source file with the fix, which is then uploaded back to the repository. A new software distribution is automatically built with the new source file, and the new software distribution is automatically deployed to the devices that experienced the error. Thus, defects can be automatically detected, repaired, and deployed without human intervention.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for automatic software defect correction of a computer program, comprising: scanning a plurality of log files for the computer program to identify a software defect, wherein the plurality of log files comprises log files from thousands or millions of deployments; identifying an error type for the software defect; identifying a source file for the software defect; identifying a source line number for the software defect; identifying a source repository for the source file; searching a solution template repository for a solution template corresponding to the identified error type, and in response to finding a matching solution template: creating a source code modification in the source file to create a modified source file, wherein the modified source file includes a software defect mitigation; submitting the modified source file to the identified source repository; creating an updated software distribution; and deploying the updated software distribution to one or more electronic computing devices; and searching the solution template repository for a solution template corresponding to a second identified error type for a second software defect, and in response to not finding a matching solution template: automatically creating a second software defect ticket corresponding to the second software defect in a software defect tracking system; performing an automated stakeholder notification corresponding to the second software defect ticket; receiving a template for the second software defect; and storing the template for the second software defect in the solution template repository. 2. The computer-implemented method of claim 1 , wherein the software defect mitigation is performed at the source line number for the software defect. 3. The computer-implemented method of claim 1 , wherein the software defect mitigation is performed before the source line number for the software defect. 4. The computer-implemented method of claim 3 , wherein the matching solution template includes a rule directive. 5. The computer-implemented method of claim 1 , further comprising automatically creating a software defect ticket corresponding to the software defect in a software defect tracking system. 6. The computer-implemented method of claim 5 , further comprising performing an automated stakeholder notification corresponding to the software defect ticket. 7. The computer-implemented method of claim 1 , further comprising: identifying an infrastructure-based error condition from the log file; adjusting a resource configuration file in response to the infrastructure-based error condition; and, restarting the computer program to use the adjusted resource configuration file. 8. The computer-implemented method of claim 7 , further comprising automatically creating a software defect ticket corresponding to the software defect in a software defect tracking system. 9. The computer-implemented method of claim 8 , further comprising performing an automated stakeholder notification corresponding to the software defect ticket. 10. An electronic computation device comprising: a processor; a memory coupled to the processor, the memory containing instructions, that when executed by the processor, perform the process of: scanning a plurality of log files for the computer program to identify a software defect, wherein the plurality of loci files comprises log files from thousands or millions of deployments; identifying an error type for the software defect; identifying a source file for the software defect; identifying a source line number for the software defect; identifying a source repository for the source file; searching a solution template repository for a solution template corresponding to the identified error type, and in response to finding a matching solution template: creating a source code modification in the source file to create a modified source file, wherein the modified source file includes a software defect mitigation; submitting the modified source file to the identified source repository; creating an updated software distribution; and deploying the updated software distribution to one or more electronic computing devices; and searching the solution template repository for a solution template corresponding to a second identified error type for a second software defect, and in response to not finding a matching solution template: automatically creating a second software defect ticket corresponding to the second software defect in a software defect tracking system; performing an automated stakeholder notification corresponding to the second software defect ticket; receiving a template for the second software defect; and storing the template for the second software defect in the solution template repository. 11. The electronic computation device of claim 10 wherein the memory further comprises instructions, that when executed by the processor, perform the process of automatically creating a software defect ticket corresponding to the software defect in a software defect tracking system. 12. The electronic computation device of claim 11 wherein the memory further comprises instructions, that when executed by the processor, perform the process of performing an automated stakeholder notification corresponding to the software defect ticket. 13. The electronic computation device of claim 10 wherein the memory further comprises instructions, that when executed by the processor, perform the process of: identifying an infrastructure-based error condition from the log file; adjusting a resource configuration file in response to the infrastructure-based error condition; and, restarting the computer program to use the adjusted resource configuration file. 14. A computer program product for an electronic computation device comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the electronic computation device to perform the process of: scanning a plurality of log files for the computer program to identify a software defect, wherein the plurality of loci files comprises log files from thousands or millions of deployments; identifying an error type for the software defect; identifying a source file for the software defect; identifying a source line number for the software defect; identifying a source repository for the source file; searching a solution template repository for a solution template corresponding to the identified error type, and in response to finding a matching solution template: creating a source code modification in the source file to create a modified source file, wherein the modified source file includes a software defect mitigation; submitting the modified source file to the identified source repository; creating an updated software distribution; and deploying the updated software distribution to one or more electronic computing devices; and searching the solution template repository for a solution template corresponding to a second identified error type for a second software defect, and in response to not finding a matching solution template: automatically creating a second software defect ticket corresponding to the second software defect in a software defect tracking system; performing an automated stakeholder notification corresponding to the second software defect ticket; receiving a template for the second software defect; and storing the template for the second software defect in the solution template repository.
Updates (security arrangements therefor G06F21/57) · CPC title
by performing operations on the source code, e.g. via a compiler · CPC title
Data logging (G06F11/14, G06F11/2205 take precedence) · CPC title
Configuring for program initiating, e.g. using registry, configuration files · CPC title
Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.