Identifying and resolving software issues

US9430359B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9430359-B1
Application numberUS-201314073351-A
CountryUS
Kind codeB1
Filing dateNov 6, 2013
Priority dateNov 6, 2013
Publication dateAug 30, 2016
Grant dateAug 30, 2016

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.

Technologies are described herein for use in identifying and resolving software issues. One or more corrective actions may be identified and taken that are based upon the similarity between an unresolved issue and one or more resolved issues and/or upon the similarity between code changes made to resolve similar previously resolved issues. A version control graph might also be utilized to determine if a change made to resolve an issue in one branch of a software component is applicable to another branch of the software component. The version control graph might also be utilized to compute the relevance of an entry in an issue tracking system for an issue at a point in time after the entry is created in the issue tracking system.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus for performing one or more corrective actions with respect to an unresolved issue in a software component, the apparatus comprising: a processor; and a computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the processor, cause the apparatus to: obtain data describing one or more characteristics of an unresolved issue with a software component from an issue tracking system, obtain data describing one or more characteristics of one or more resolved issues with the software component from the issue tracking system, identify at least one resolved issue that is similar to the unresolved issue from the one or more resolved issues based upon the characteristics of the unresolved issue and the characteristics of the one or more resolved issues, identify, based upon data maintained by a version control system, a plurality of changes that were made to the software component in order to resolve the at least one resolved issue, wherein the version control system maintains a version control graph for the software component that identifies the plurality of changes made to the software component and relationships between the plurality of changes, determine a similarity between the plurality of changes that were made to the software component in order to resolve the at least one resolved issue, and perform one or more corrective actions with respect to the unresolved issue based upon the similarity between the plurality of changes to the software component by providing a recommendation identifying changes to the software component that are similar to one another. 2. The apparatus of claim 1 , wherein at least one of the one or more corrective actions further comprises annotating an entry in the issue tracking system for the unresolved issue with data identifying changes made to the at least one resolved issue that is similar to the unresolved issue. 3. The apparatus of claim 1 , wherein at least one of the one or more corrective actions further comprises causing a developer that resolved a resolved issue that is similar to the unresolved issue to be assigned to the unresolved issue in the issue tracking system. 4. The apparatus of claim 1 , wherein at least one of the one or more corrective actions further comprises generating a commit in the version control system for the unresolved issue. 5. The apparatus of claim 1 , wherein at least one of the one or more corrective actions further comprises generating a commit in the version tracking system for the unresolved issue and causing one or more tests to be performed to determine that the commit resolved the unresolved issue. 6. The apparatus of claim 1 , wherein the data describing the one or more characteristics of the unresolved issue with the software component and the data describing the one or more characteristics of the one or more resolved issues with the software component comprise one or more of failed test cases associated with the unresolved issue, one or more stack traces associated with the unresolved issue, a text description of the unresolved issue, or data identifying one or more conditions under which the unresolved issue occurs. 7. The apparatus of claim 1 , wherein the similarity between the identified changes to the software component is determined based upon one or more of files that were changed to resolve the at least one resolved issue, test cases added in response to having resolved the at least one resolved issue, lines of program code that were changed to resolve the at least one resolved issue, software classes that were changed to resolve the at least one resolved issue, or an identity of a developer that resolved the at least one resolved issue. 8. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to: obtain data describing one or more characteristics of an unresolved issue with a software component from an issue tracking system; obtain data describing one or more characteristics of one or more resolved issues from the issue tracking system; identify at least one resolved issue that is similar to the unresolved issue from the one or more resolved issues based upon the one or more characteristics of the unresolved issue and the one or more characteristics of the one or more resolved issues; identify, based upon data maintained by a version control system, a plurality of changes that were made to the software component in order to resolve the at least one resolved issue that is similar to the unresolved issue, wherein the version control system maintains a version control graph for the software component that identifies the plurality of changes made to the software component and relationships between the plurality of changes; determine a similarity between the plurality of changes that were made to the software component in order to resolve the resolved issues; and perform one or more corrective actions on the unresolved issue based at least in part upon the similarity between the plurality of changes to the software component by providing a recommendation identifying changes to the software component that are similar to one another. 9. The computer-readable storage medium of claim 8 , wherein performing one or more corrective actions further comprises providing a notification that identifies changes associated with the resolved issues similar to the unresolved issue, the changes having at least a threshold level of similarity with one another. 10. The computer-readable storage medium of claim 8 , wherein performing one or more corrective actions further comprises annotating an entry in the issue tracking system for the unresolved issue with data identifying changes made to the resolved issues that are similar to the unresolved issue. 11. The computer-readable storage medium of claim 8 , wherein performing one or more corrective actions further comprises relating one or more other resolved or unresolved issues with the unresolved issue in the issue tracking system. 12. The computer-readable storage medium of claim 8 , wherein performing one or more corrective actions further comprises generating a commit in the version tracking system for the unresolved issue and causing one or more tests to be performed to determine that the commit resolves the unresolved issue. 13. The computer-readable storage medium of claim 8 , wherein the similarity of the resolved issues and the unresolved issue is determined, at least in part, based upon one or more failed test cases associated with the unresolved issue, one or more stack traces associated with the unresolved issue, a text description of the unresolved issue, or data identifying one or more conditions under which the unresolved issue occurs. 14. The computer-readable storage medium of claim 8 , wherein the similarity between the identified changes is determined, at least in part, based upon files that were changed to resolve the resolved issues, lines of program code that were changed to resolve the resolved issues, software classes that were changed to resolve the resolved issues, or an identity of a developer associated with the resolved issues. 15. The computer-readable storage medium of claim 8 , wherein the one or more corrective actions further comprise causing a developer that resolved a resolved issue that is similar to the unresolved issue to be assigned to the unresolved issue in the issue tracking system. 16. A computer-implemented method for performing one or more corrective action

Assignees

Inventors

Classifications

  • for test results analysis · CPC title

  • Testing of software · CPC title

  • using diagnostics (G06F11/0703 takes precedence) · 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

  • the processing taking place on a specific hardware platform or in a specific software environment · 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 US9430359B1 cover?
Technologies are described herein for use in identifying and resolving software issues. One or more corrective actions may be identified and taken that are based upon the similarity between an unresolved issue and one or more resolved issues and/or upon the similarity between code changes made to resolve similar previously resolved issues. A version control graph might also be utilized to deter…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3692. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 30 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).