Automatic software defect repair

US11157390B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11157390-B2
Application numberUS-201916456109-A
CountryUS
Kind codeB2
Filing dateJun 28, 2019
Priority dateJun 28, 2019
Publication dateOct 26, 2021
Grant dateOct 26, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11157390B2 cover?
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 corr…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/0793. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 26 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).