Enhancing software development using bug data
US-10585780-B2 · Mar 10, 2020 · US
US11301358B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11301358-B1 |
| Application number | US-202017121795-A |
| Country | US |
| Kind code | B1 |
| Filing date | Dec 15, 2020 |
| Priority date | Dec 15, 2020 |
| Publication date | Apr 12, 2022 |
| Grant date | Apr 12, 2022 |
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.
Aspects of the invention include receiving a notification that a first logical grouping of code segments of a software application is being changed. Comparing the first logical grouping to a second logical grouping of code segments from a change history of the software application, where the first logical grouping and the second logical grouping both relate to resolving a common software application issue, and where the first logical grouping and the second logical grouping include at least one common code segment. Identifying a first code segment of the first logical grouping that is different from a second code segment of the second logical grouping. Determining that given the at least one code segment is changed a probability that the second code segment has been changed is greater than an threshold value. Sending a notification based on the difference in the probabilities being greater than a threshold value.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: receiving, by a processor, a notification that a first logical grouping of code segments of a software application is being changed; comparing, by the processor, the first logical grouping to a second logical grouping of code segments from a change history of the software application, wherein the first logical grouping and the second logical grouping both relate to resolving a common software application issue, wherein the first logical grouping and the second logical grouping include at least one common code segment, and wherein comparing the first logical grouping to the second logical grouping comprises: identifying the second logical grouping in a dependency graph derived from the change history; matching one or more code segments from the first logical grouping to the second logical grouping; and determining whether a threshold number of code segments from the first logical grouping match the second logical grouping; identifying, by the processor, a first code segment of the first logical grouping that is different from a second code segment of the second logical grouping; determining, by the processor, that given the first code segment is changed a probability that the second code segment has been changed is greater than a threshold value; sending, by the processor, a notification based on the probability that the second code segment has been changed being greater than the threshold value; and changing the second logical grouping of code segments instead of the first logical grouping of code segments. 2. The computer implemented method of claim 1 , wherein the notification is received from a software version control system. 3. The computer-implemented method of claim 1 , wherein identifying the first code segment of first logical grouping that differs from the second code segment of the second logical grouping comprises comparing a respective code identifier of the first code segment and the second code segment. 4. The computer-implemented method of claim 1 , further comprising: inputting a probability that each respective code segment of the first logical grouping is changed and a probability that each respective code segment of the second logical grouping is changed into a Markov model; extracting a first eigenvector describing the first logical grouping and a second eigenvector describing the second logical grouping from a Markov matrix built from the Markov model; and comparing a distance between the first eigenvector and the second eigenvector. 5. The computer-implemented method of claim 4 , wherein comparing the distance comprises performing a cosine similarity algorithm on the first and second eigenvectors. 6. A system comprising: a memory having computer readable instructions; and one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising: receiving a notification that a first logical grouping of code segments of a software application is being changed; comparing the first logical grouping to a second logical grouping of code segments from a change history of the software application, wherein the first logical grouping and the second logical grouping both relate to resolving a common software application issue, and wherein the first logical grouping and the second logical grouping include at least one common code segment, and wherein comparing the first logical grouping to the second logical grouping comprises: identifying the second logical grouping in a dependency graph derived from the change history; matching one or more code segments from the first logical grouping to the second logical grouping; and determining whether a threshold number of code segments from the first logical grouping match the second logical grouping; identifying a first code segment of the first logical grouping that is different from a second code segment of the second logical grouping; determining, by the processor, that given the first code segment is changed a probability that the second code segment has been changed is greater than a threshold value; sending a notification based on the probability that the second code segment has been changed being greater than the threshold value; and changing the second logical grouping of code segments instead of the first logical grouping of code segments. 7. The system of claim 6 , wherein the notification is received from a software version control system. 8. The system of claim 6 , wherein identifying the first code segment of first logical grouping that differs from the second code segment of the second logical grouping comprises comparing a respective code identifier of the first code segment and the second code segment. 9. The system of claim 6 , further comprising: inputting a probability that each respective code segment of the first logical grouping is changed and a probability that each respective code segment of the second logical grouping is changed into a Markov model; extracting a first eigenvector describing the first logical grouping and a second eigenvector describing the second logical grouping from a Markov matrix built from the Markov model; and comparing a distance between the first eigenvector and the second eigenvector. 10. The system of claim 6 , wherein comparing the distance comprises performing a cosine similarity algorithm on the first and second eigenvectors. 11. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations comprising: receiving a notification that a first logical grouping of code segments of a software application is being changed; comparing the first logical grouping to a second logical grouping of code segments from a change history of the software application, wherein the first logical grouping and the second logical grouping both relate to resolving a common software application issue, and wherein the first logical grouping and the second logical grouping include at least one common code segment, and wherein comparing the first logical grouping to the second logical grouping comprises: identifying the second logical grouping in a dependency graph derived from the change history; matching one or more code segments from the first logical grouping to the second logical grouping; and determining whether a threshold number of code segments from the first logical grouping match the second logical grouping; identifying a first code segment of the first logical grouping is different from a second code segment of the second logical grouping; determining, by the processor, that given the first code segment is changed a probability that the second code segment has been changed is greater than a threshold value; sending a notification based on the probability that the second code segment has been changed being greater than the threshold value; and changing the second logical grouping of code segments instead of the first logical grouping of code segments. 12. The computer program product of claim 11 , wherein the notification is received from a software version control system. 13. The computer program product of claim 11 , wherein identifying the first code segment of first logical grouping that differs from the second code segment of the second logical grouping comprises comparing a respective code identifier of the first code segment and the second code segment. 14. The computer program
Probabilistic graphical models, e.g. probabilistic networks · CPC title
Inference or reasoning models · CPC title
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Analysis of software for verifying properties of programs (testing of software G06F11/3668) · CPC title
using formal methods, e.g. model checking, abstract interpretation (theorem proving G06N5/013) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.