Recording medium and programming support apparatus
US-2024329615-A1 · Oct 3, 2024 · US
US9870223B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9870223-B2 |
| Application number | US-201614990576-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 7, 2016 |
| Priority date | Jan 7, 2016 |
| Publication date | Jan 16, 2018 |
| Grant date | Jan 16, 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.
Systems, methods, and computer program products to perform an operation comprising identifying a first commit of a plurality of commits for a software project, wherein a source code of the first commit is executable in a first system architecture, computing a score for each commit in a first set of the plurality of commits, wherein each score reflects a likelihood of success in porting the source code of the respective commit from the first system architecture to a second system architecture, wherein a version of each commit in the first set of commits is between a version of the first commit and a current version of the software project, identifying one or more of the first set of commits based on the scores for each commit, and building the source code of the one or more of the first set of commits for execution on the second system architecture.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: identifying, by operation of a computer processor based on a search granularity, a source code of a first commit of a plurality of commits for a software project; successfully building the source code of the first commit for a first system architecture and a second system architecture; determining, based on a set of tests run against the built source code of the first commit for the first and second system architectures, that the first commit is a latest working build for the first and second system architectures, wherein a respective number of failures incurred by running the set of tests does not exceed a failure threshold; computing a score for each commit in a first set of the plurality of commits, wherein each score reflects a likelihood of success in porting the source code of the respective commit from the first system architecture to the second system architecture, wherein a version of each commit in the first set of commits is between a version of the first commit and a current version of the software project, wherein a commit status table stores, for each commit in the first set of commits: (i) the score, and (ii) a portion of the source code of the commit; identifying a second commit of the first set of commits based on the scores for each commit; patching the source code of the first commit and the source code of the second commit; building the patched source code of the first and second commits for execution on the second system architecture; determining that the patched source code did not build successfully for execution on the second system architecture based on an error at a first line of the patched source code; and outputting for display: (i) an indication that the patched source code did not build successfully, and (ii) the first line of the patched source code. 2. The method of claim 1 , further comprising: prior to identifying the first commit, receiving a request to port the software project from the first system architecture to the second system architecture; and subsequent to determining that the patched source code did not build successfully, storing an indication that the patched source code did not build successfully. 3. The method of claim 2 , wherein each score is computed based on at least one attribute of the source code of each commit, wherein the score is reduced upon detecting, in respective instances, the presence of each of the attributes comprising: (i) a system call in the source code, (ii) a configuration change to the source code, (iii) a build option, (iv) whether the source code is specific to the first system architecture, and (v) whether the source code is known to call native code in the first system architecture, wherein the score is increased upon detecting, in respective instances, each of the attributes comprising: (i) whether the source code is specific to the second system architecture, and (ii) whether the source code is known to call native code in the second system architecture. 4. The method of claim 3 , wherein the source code of the first commit is identified in a source code repository, the method further comprising: running the set of tests on the builds of the source code of the first commit for the first and second system architectures; and determining that the respective numbers of failures incurred by running the set of tests does not exceed a failure threshold. 5. The method of claim 4 , wherein the first system architecture is different from the second system architecture, wherein the second commit is identified based on determining the score of the second commit exceeds a rank threshold. 6. The method of claim 5 , wherein the commit status table further stores, for each commit in the first set of commits: (i) a respective commit identifier, and (ii) an indication of a respective status of the commit. 7. A system, comprising: one or more processors; and a memory containing a program, which when executed by the processors, performs an operation comprising: identifying, based on a search granularity, a source code of a first commit of a plurality of commits for a software project; successfully building the source code of the first commit for a first system architecture and a second system architecture; determining, based on a set of tests run against the built source code of the first commit for the first and second system architectures, that the first commit is a latest working build for the first and second system architectures, wherein a respective number of failures incurred by running the set of tests does not exceed a failure threshold; computing a score for each commit in a first set of the plurality of commits, wherein each score reflects a likelihood of success in porting the source code of the respective commit from the first system architecture to the second system architecture, wherein a version of each commit in the first set of commits is between a version of the first commit and a current version of the software project, wherein a commit status table stores, for each commit in the first set of commits: (i) the score, and (ii) a portion of the source code of the commit; identifying a second commit of the first set of commits based on the scores for each commit; patching the source code of the first commit and the source code of the second commit; building the patched source code of the first and second commits for execution on the second system architecture; determining that the patched source code did not build successfully for execution on the second system architecture based on an error at a first line of the patched source code; and outputting for display: (i) an indication that the patched source code did not build successfully, and (ii) the first line of the patched source code. 8. The system of claim 7 , the operation further comprising: prior to identifying the first commit, receiving a request to port the software project from the first system architecture to the second system architecture; and subsequent to determining that the patched source code did not build successfully, storing an indication that the patched source code did not build successfully. 9. The system of claim 8 , wherein each score is computed based on at least one attribute of the source code of each commit, wherein the score is reduced upon detecting, in respective instances, the presence of each of the attributes comprising: (i) a system call in the source code, (ii) a configuration change to the source code, (iii) a build option, (iv) whether the source code is specific to the first system architecture, and (v) whether the source code is known to call native code in the first system architecture, wherein the score is increased upon detecting, in respective instances, each of the attributes comprising: (i) whether the source code is specific to the second system architecture, and (ii) whether the source code is known to call native code in the second system architecture. 10. The system of claim 9 , wherein the source code of the first commit is identified in a source code repository, the operation further comprising: running the set of tests on the builds of the source code of the first commit for the first and second system architectures; and determining that the respective numbers of failures incurred by running the set of tests does not exceed a failure threshold. 11. The system of claim 10 , wherein the first system architecture is different from the second system architecture, wherein the second commit is identified based on determining the score of the second commit exceeds a rank threshold. 12. The system of claim 11 , wherein the commit sta
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Adapting program code to run in a different environment; Porting · CPC title
Software reuse · CPC title
for test results analysis · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.