Machine learning-based universal software component identification
US-12175241-B1 · Dec 24, 2024 · US
US9052983B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9052983-B2 |
| Application number | US-201213350841-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 16, 2012 |
| Priority date | Jan 16, 2012 |
| Publication date | Jun 9, 2015 |
| Grant date | Jun 9, 2015 |
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.
Apparatus, process and product useful for source code patches. The computerized apparatus having a processor, the apparatus comprising: a source code obtainer for obtaining a source code of a computer program; a patch instructions obtainer for obtaining a set of source code patches instructions, wherein a first patch instructions comprise a set of modification instructions to the source code associated with a first source code patch, wherein a second patch instructions comprise a set of modification instruction to the source code associated with a second source code patch; a source code editor configured to display to a user the source code and annotations associated with applying each source code patch simultaneously; and wherein said source code editor is further configured to edit the source code in accordance with user input, wherein based on user input the first and second source code patch instructions are modified.
Opening claim text (preview).
What is claimed is: 1. A computerized apparatus having a processor, the apparatus comprising: a source code obtainer for obtaining a source code of a computer program; a patch generator for splitting a change of the source code into a set of patches having an ordering, such that after applying to the source code, in accordance with the ordering, any patch in the set of patches and its preceding patches, the source code compiles successfully, and wherein each patch comprises less than a predetermined number of lines; and a source code editor configured to simultaneously display to a user: a listing of the set of patches and the source code, such that when the user selects a patch from the listing, the source code is presented with changes caused by applying the set of modification instructions associated with the patch, wherein said source code editor is further configured to edit the source code in accordance with user input, wherein based on user input at least one of the set of patches is automatically modified. 2. The computerized apparatus of claim 1 , wherein said source code editor is configured to modify the patches instructions in the following manner: a modification instruction associated with a first patch is modified to be associated with a second patch. 3. The computerized apparatus of claim 1 , wherein in response to an input from the user, said source code editor is configured to update the source code so as to simultaneously modify a first version of the source code and a second version of the source code, wherein the first version of the source code is the source code after applying a first patch thereon; and wherein the second version of the source code is the first version of the source code after applying a second patch thereon. 4. The computerized apparatus of claim 1 , wherein a second patch is applicable on the source code after a first patch is first applied on the source code. 5. The computerized apparatus of claim 1 , wherein the source code comprising annotations indicative of the set of patches, wherein said patch instructions obtainer is configured to obtain the set of patches from the annotations in the source code. 6. The computerized apparatus of claim 5 , wherein the annotations are provided as comments in the source code, whereby the source code can be compiled. 7. The computerized apparatus of claim 5 , wherein the annotations are provided as pre-processing instructions in the source code, whereby the source code can be compiled. 8. The computerized apparatus of claim 7 , wherein the pre-processing instructions are configured to cause a pre-processor to apply all patches, whereby upon compilation of the source code, a version having all patches applied is compiled. 9. The computerized apparatus of claim 5 , further comprising a patch applier configured to apply a predetermined patch by applying all patches that the predetermined patch is dependent on. 10. The computerized apparatus of claim 9 , wherein said patch applier is configured to modify pre-processing instructions so as to apply the all patches that the predetermined patch is dependent on and the predetermined patch; and wherein said patch applier is configured to modify the pre-processing instructions so as to not apply all other patches. 11. The computerized apparatus of claim 1 , wherein said patch generator is configured to obtain an ordering of the patches, and wherein said patches generator is configured to generate a predetermined patch by: generating a first patch level by applying patches up to the predetermined patch, excluding the predetermined patch; generating a second patch level by applying patches up to and including the predetermined patch; and generating the predetermined patch based on a difference between the first patch level and the second patch level. 12. A computer-implemented method performed by a processor, the method comprising: obtaining a source code of a computer program; generating a set of patches having an ordering by splitting a change of the source code, wherein each patch comprises a set of modification instructions to the source code, and wherein after applying to the source code, in accordance with the ordering, any patch in the set of patches and its preceding patches, the source code compiles successfully, and wherein each patch comprises less than a predetermined number of lines; displaying simultaneously: a listing of the set of patches and the source code, such that when a user selects a patch from the listing, the source code is presented with changes caused by applying the set of modification instructions associated with the patch; and editing the source code in accordance with user input, wherein based on user input at least one of the set of patches is automatically modified. 13. The computer-implemented method of claim 12 , wherein said editing comprising: modifying an instruction associated with a first patch to be associated with a second patch. 14. The computer-implemented method of claim 12 , wherein the source code comprises annotations indicative of the modification instructions, wherein said obtaining the set of patches comprises obtaining the modification instructions from the annotations in the source code. 15. The computer-implemented method of claim 14 , wherein the annotations are provided as comments in the source code, whereby the source code can be compiled. 16. The computer-implemented method of claim 14 , wherein the annotations are provided as pre-processing instructions in the source code, whereby the source code can be compiled. 17. The computer-implemented method of claim 16 , wherein the pre-processing instructions are configured to cause a pre-processor to apply all patches, whereby upon compilation of the source code, a version having all patches applied is compiled. 18. The computer-implemented method of claim 12 , wherein generating a predetermined patch of the set of patches comprises: generating a first patch level by applying patches up to the predetermined patch, excluding the predetermined patch; generating a second patch level by applying patches up to and including the predetermined patch; and generating the predetermined patch based on a difference between the first patch level and the second patch level. 19. A computer program product comprising: a non-transitory computer readable medium having retained thereon a computer program, wherein the computer program when executed by a processor causes the processor to: obtain a source code of a computer program; generate a set of patch instructions having an ordering by splitting a change of the source code, wherein each patch comprises a set of modification instructions to the source code, and wherein after applying to the source code, in accordance with the ordering, any patch in the set of patches and its preceding patches, the source code compiles successfully, and wherein each patch comprises less than a predetermined number of lines; display simultaneously a listing of the set of patches and the source code, such that when a user selects a patch from the listing, the source code is presented with changes caused by applying the set of modification instructions associated with the patch; and edit the source code in accordance with user input, wherein based on user input at least one of the set of patches is automatically modified. 20. A computer program product comprising: a non-transitory computer readable medium having retained thereon a source code of a computer program, wherein
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.