Grouping and isolating software changes to increase build quality
US-2018074936-A1 · Mar 15, 2018 · US
US10175979B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10175979-B1 |
| Application number | US-201715417916-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jan 27, 2017 |
| Priority date | Jan 27, 2017 |
| Publication date | Jan 8, 2019 |
| Grant date | Jan 8, 2019 |
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.
The present disclosure relates to a system and method for predicting errors in a software code base. The system generates an element set from a plurality of defect records that identify the developer who originated the defect, the code revisions related to the defect, and a classification of the defect. The system predicts the probability and type of defects in software using a machine learning algorithm configured using elements from the defect records and the code related to the defect records.
Opening claim text (preview).
What is claimed is: 1. A method for evaluating source code in a code base comprising: receiving, in a source control system, a first code revision to one or more code lines of a software application; associating, in the source control system, at least a first developer with each code line of the one or more code lines in the first code revision; identifying a first defect record related to a defect in the software application; receiving, in the source control system, a second code revision repairing the defect related to the first defect record by modifying at least one code line of the one or more code lines; associating, in the source control system, at least a second developer with the at least one code line in the second code revision; assigning, in the first defect record, the first developer as an originating developer of the defect and the second developer as a fixing developer of the defect; analyzing, the one or more code lines, a plurality of defect records including the first defect record, and metadata associated with the plurality of defect records, to determine an element set comprising input elements and output elements; and training a machine learning model, using the element set, to predict types and numbers of defects in software features based on elements of the new software features. 2. The method of claim 1 , further comprising: generating a programming code structure from the first code revision and the second code revisions; and recording the programming code structure in the first defect record. 3. The method of claim 1 , wherein the machine learning model is further trained, using the element set, to predict effective developers for resolving predicted defects. 4. The method of claim 1 , wherein the output elements comprise types and numbers of defects. 5. The method of claim 1 , wherein the input elements comprise originating developers and code elements. 6. The method of claim 1 , wherein the machine learning model is a neural network. 7. The method of claim 1 , wherein the metadata comprises times spent fixing defects, developer narratives, and categorizations of defects. 8. A system, comprising: a processor; and memory storing instructions which, when executed on the processor, cause the processor to perform an operation to assess errors in a code base, the operation comprising: receiving, in a source control system, a first code revision to one or more code lines of a software application; associating, in the source control system, at least a first developer with each code line of the one or more code lines in the first code revision; identifying a first defect record related to a defect in the software application; receiving, in the source control system, a second code revision repairing the defect related to the first defect record by modifying at least one code line of the one or more code lines; associating, in the source control system, at least a second developer with the at least one code line in the second code revision; assigning, in the first defect record, the first developer as an originating developer of the defect and the second developer as a fixing developer of the defect; analyzing, the one or more code lines, a plurality of defect records including the first defect record, and metadata associated with the plurality of defect records, to determine an element set comprising input elements and output elements; and training a machine learning model, using the element set, to predict types and numbers of defects in new software features based on elements of the new software features. 9. The system of claim 8 , the operation further comprising: generating a programming code structure from the first code revision and the second code revisions; and recording the programming code structure in the first defect record. 10. The system of claim 8 , wherein the machine learning model is further trained, using the element set, to predict effective developers for resolving predicted defects. 11. The system of claim 8 , wherein the output elements comprise types and numbers of defects. 12. The system of claim 8 , wherein the input elements comprise originating developers and code elements. 13. The system of claim 8 , wherein the machine learning model is a neural network. 14. The system of claim 8 , wherein the metadata comprises times spent fixing defects, developer narratives, and categorizations of defects. 15. A computer-readable medium comprising instructions which, when executed by one or more processors, performs an operation to assess errors in a code base, the operation comprising: receiving, in a source control system, a first code revision to one or more code lines of a software application; associating, in the source control system, at least a first developer with each code line of the one or more code lines in the first code revision; identifying a first defect record related to a defect in the software application; receiving, in the source control system, a second code revision repairing the defect related to the first defect record by modifying at least one code line of the one or more code lines; associating, in the source control system, at least a second developer with the at least one code line in the second code revision; assigning, in the first defect record, the first developer as an originating developer of the defect and the second developer as a fixing developer of the defect; analyzing the one or more code lines, a plurality of defect records including the first defect record, and metadata associated with the plurality of defect records, to determine an element set comprising input elements and output elements; training a machine learning model, using the element set, to predict types and numbers of defects in new software features based on elements of the new software features. 16. The computer-readable medium of claim 15 , the operation further comprising: generating a programming code structure from the first code revision and the second code revision; and recording the programming code structure in the first defect record. 17. The computer-readable medium of claim 15 , wherein the machine learning model is further trained, using the element set, to predict effective developers for resolving predicted defects. 18. The computer-readable medium of claim 15 , wherein the output elements comprise types and numbers of defects. 19. The computer-readable medium of claim 15 , wherein the input elements comprise originating developers and code elements. 20. The computer-readable medium of claim 15 , wherein the machine learning model is a neural network.
Physics · mapped topic
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Supervised learning · CPC title
Learning methods · CPC title
Machine learning · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.