Source code patches

US9052983B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9052983-B2
Application numberUS-201213350841-A
CountryUS
Kind codeB2
Filing dateJan 16, 2012
Priority dateJan 16, 2012
Publication dateJun 9, 2015
Grant dateJun 9, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9052983B2 cover?
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 as…
Who is the assignee on this patent?
Farchi Eitan Daniel, Gordon Abel, Har El Nadav Yosef, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F8/71. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 09 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).