Methods, systems and computer-readable media for detecting a partial commit
US-9785430-B2 · Oct 10, 2017 · US
US9921948B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9921948-B2 |
| Application number | US-201315028725-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 30, 2013 |
| Priority date | Oct 30, 2013 |
| Publication date | Mar 20, 2018 |
| Grant date | Mar 20, 2018 |
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.
A risk level of a software commit is assessed through the use of a classifier. The classifier may be generated based on attributes pertaining to previous commits and used to determine a risk level for deployment of a software commit into a production environment based on attributes extracted from the software commit.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: generating, by a processor, a classifier for attributes of previous software commits, wherein the previous software commits are code that has already been deployed, and wherein generating the classifier includes classifying the attributes of the previous software commits into three classes: a first class based on a frequency of update of the previous software commits, a second class based on successful levels of the previous software commits, and a third class based on code complexity of the previous software commits; extracting, by the processor, attributes pertaining to a new software commit, wherein the new software commit is code that has not been deployed; and running, by the processor, the classifier on the extracted attributes of the new software commit to determine a risk level for deployment of the new software commit into a production environment to determine whether or not to skip a testing phase, wherein generating the classifier of the previous software commits includes: removing one of the previous software commits from the data structure, calculating a classifier on the previous software commits remaining in the data structure, running the calculated classifier on the removed software commit, and comparing a risk level label returned by the calculated classifier to an actual risk level label of the removed software commit. 2. The method of claim 1 , wherein the attributes of the new software commit include an attribute that provides information about the new software commit, an attribute that provides information about a label for the new software commit, and an attribute indicative of the code complexity of the new software commit for which the risk level is determined. 3. The method of claim 1 , wherein the risk level includes a plurality of levels. 4. The method of claim 1 , further comprising: storing the previous software commits in a table of the data structure, the table including a column of the attributes of the previous software commits and a column of labels indicating the successful levels of the previous software commits. 5. A non-transitory computer-readable storage device containing instructions that, when executed by a processor, cause the processor to: generate a classifier for attributes of previous software commits, wherein the previous software commits are code that has already been deployed; determine a plurality of attributes pertaining to a new software commit, wherein the new software commit is code that has not been deployed; and use the classifier to classify the attributes of the new software commit to determine a risk level for deployment of the new software commit into a production environment to determine whether or not to skip a testing phase, wherein, to generate the classifier, the instructions are to cause the processor to: remove one of the previous software commits stored in a data structure, calculate the classifier on the previous software commits remaining in the data structure, run the calculated classifier on the removed software commit, and compare a risk level label returned by the calculated classifier to an actual risk level label of the removed software commit. 6. The non-transitory computer-readable storage device of claim 5 , wherein, to generate the classifier for the attributes of the previous software commits, the instructions are to cause the processor to: classify the attributes of the previous software commits into three classes: a first class based on a frequency of update of the previous software commits, a second class based on successful levels of the previous software commits, and a third class based on code complexity of the previous software commits. 7. The non-transitory computer-readable storage device of claim 6 , wherein, when executed, the instructions are to cause the processor to validate the classifier. 8. The non-transitory computer-readable storage device of claim 5 , wherein the attributes of the new software commit include an attribute that provides information about the new software commit and an attribute that provides information about a label for the new software commit. 9. The non-transitory computer-readable storage device of claim 5 , wherein the attributes of the new software commit include an attribute indicative of code complexity of the new software commit for which the risk level is determined. 10. The non-transitory computer-readable storage device of claim 5 , wherein the new software commit includes an update to an existing software application. 11. The non-transitory computer-readable storage device of claim 5 , wherein the data structure includes a plurality of entries that store the attributes of the previous software commits and labels indicating successful levels of the previous software commits. 12. A system, comprising: a data structure to store a plurality of software commits that have already been deployed, each software commit in the data structure to include a plurality of attributes and a label indicating a success level of the software commit; a processor; and a memory storing instructions that when executed cause the processor to: generate a classifier for the plurality of attributes of the software commits from the data structure, determine an attribute of a new software commit that has not been deployed, and run the classifier to classify the attribute of the new software commit to determine a risk level for deployment of the new software commit into a production environment to determine whether or not to skip a testing phase, wherein, to generate the classifier, the instructions are to cause the processor to: remove one of the previous software commits from the data structure, calculate the classifier on the previous software commits remaining in the data structure, run the calculated classifier on the removed software commit, and compare a risk level label returned by the calculated classifier to an actual risk level label of the removed software commit. 13. The system of claim 12 , wherein the attribute of the new software commit includes a measure of code complexity of the new software commit for which the risk level is determined. 14. The system of claim 12 , wherein to generate the classifier, the instructions are to cause the processor to classify the plurality of attributes of the software commits into three classes: a first class based on a frequency of an update of the software commits, a second class based on successful levels of the software commits, and a third class based on code complexity of the software commits.
Error avoidance (G06F11/07 and subgroups take precedence) · CPC title
Updates (security arrangements therefor G06F21/57) · CPC title
Reliability or availability analysis · CPC title
Analysis of software for verifying properties of programs (testing of software G06F11/3668) · CPC title
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.