Identifying and resolving software issues
US-9135146-B1 · Sep 15, 2015 · US
US9430359B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9430359-B1 |
| Application number | US-201314073351-A |
| Country | US |
| Kind code | B1 |
| Filing date | Nov 6, 2013 |
| Priority date | Nov 6, 2013 |
| Publication date | Aug 30, 2016 |
| Grant date | Aug 30, 2016 |
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.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.