Systems and methods for presenting web application content
US-12164587-B2 · Dec 10, 2024 · US
US9052966B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9052966-B1 |
| Application number | US-201113310458-A |
| Country | US |
| Kind code | B1 |
| Filing date | Dec 2, 2011 |
| Priority date | Dec 2, 2011 |
| 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.
Source code is automatically migrated from a source format to a target format. In particular, the execution of the source code is dynamically analyzed for incompatibilities using runtime information. Solutions for the incompatibilities are additionally determined. Based on the identified incompatibilities and solutions, the source code is converted from the source format to the target format.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method of migrating dynamic language source code from a source format to a target format comprising: executing the dynamic language source code in an environment compatible with the source format; analyzing, during execution of the dynamic language source code, runtime information associated with the execution of the dynamic language source code in the environment compatible with the source format; determining a data type for an object in the dynamic language source code for the target format based on the analyzed runtime information; automatically identifying, responsive to the analyzed runtime information and the determined data type, a runtime incompatibility in the dynamic language source code with respect to the target format involving the determined data type for the object being used in a manner that is incompatible with the data type in the target format, the automatically identifying being accomplished by accessing encoded expert knowledge describing how to convert dynamic language source code from a source format to a target format; and determining that a run-time incompatibility with respect to the target format exists in the dynamic language source code based on the accessed encoded expert knowledge; automatically performing a lookup, in a data structure, for a solution to the identified runtime incompatibility, the solution enabling the dynamic language source code to be made compatible with the target format by indicating a conversion technique for converting the object to a data type that is compatible with respect to the target format; recording any identified runtime incompatibility, a location of the identified runtime incompatibility in the dynamic language source code, and the determined solution to the identified runtime incompatibility in a migration data file; and automatically converting the dynamic language source code from the source format to the target format by accessing the migration data file to identify the location of the incompatible code, the determined solution, and the indicated conversion technique. 2. The computer-implemented method of claim 1 , further comprising verifying the converted dynamic language source code in an environment compatible with the target format. 3. The computer-implemented method of claim 1 , wherein the analyzing comprises at least monitoring variable values and object data types for the dynamic language source code and the identifying comprises identifying an incompatibility based at least in part on the monitored variable values and object data types. 4. The computer-implemented method of claim 1 , wherein identifying an incompatibility in the dynamic language source code comprises: identifying an operation to be performed on the object; determining a set of data types supported by the operation in the target format; and determining that the data type for the object is not included in the set of data types supported by the operation in the target format. 5. The computer-implemented method of claim 1 , wherein: executing the dynamic language source code in an environment compatible with the source format comprises using an interpreter to execute the dynamic language source code in an environment compatible with the source format; and analyzing the run-time information comprises using instrumentation included in the interpreter to access the run-time information. 6. The computer-implemented method of claim 1 , wherein the dynamic language source code does not include an incompatibility with respect to the source format, and wherein execution of the dynamic language source code is performed without identifying an incompatibility with respect to the source format. 7. The computer-implemented method of claim 1 , wherein: executing the dynamic language source code comprises performing one or more unit tests on the dynamic language source code in the environment compatible with the source format, wherein the dynamic language source code does not include a semantic incompatibility with respect to the source format; and identifying the incompatibility comprises determining that a statement of code in the dynamic language source code does not include a semantic incompatibility with respect to the source format, and determining that the statement of code includes a semantic incompatibility with respect to the target format. 8. A non-transitory computer-readable medium storing executable computer instructions for migrating dynamic language source code from a source format to a target format, the computer instructions comprising instructions for: executing the dynamic language source code in an environment compatible with the source format; analyzing, during execution of the dynamic language source code, runtime information associated with the execution of the dynamic language source code in the environment compatible with the source format; determining a data type for an object in the dynamic language source code for the target format based on the analyzed runtime information; identifying, responsive to the analyzed runtime information and the determined data type, a run-time incompatibility in the dynamic language source code with respect to the target format involving the determined data type for the object being used in a manner that is incompatible with the data type in the target format, the automatically identifying being accomplished by accessing encoded expert knowledge describing how to convert dynamic language source code from a source format to a target format; and determining that a run-time incompatibility with respect to the target format exists in the dynamic language source code based on the accessed encoded expert knowledge; performing a lookup, in a data structure, for a solution to the identified run-time incompatibility, the solution enabling the dynamic language source code to be made compatible with the target format by indicating a conversion technique for converting the object to a data type that is compatible with respect to the target format; recording an identified runtime incompatibility, a location of the identified runtime incompatibility in the dynamic language source code, and the determined solution to the identified runtime incompatibility in a migration data file; and converting the dynamic language source code from the source format to the target format by accessing the migration data file to identify the location of the incompatible code, the determined solution, and the indicated conversion technique. 9. The computer-readable medium of claim 8 , the instructions further comprising instructions for verifying the converted source code in an environment compatible with the target format. 10. The computer-readable medium of claim 8 , wherein the analyzing comprises at least monitoring variable values and object data types for the dynamic language source code and the identifying comprises identifying an incompatibility based at least in part on the monitored variable values and object data types. 11. The computer-readable medium of claim 8 , wherein identifying an incompatibility in the dynamic language source code comprises: identifying an operation to be performed on the object; determining a set of data types supported by the operation in the target format; and determining that the data type for the object is not included in the set supported by the operation in the target format. 12. The computer-readable medium of claim 8 , wherein: executing the dynamic language source code in an environment compatible with the source format comprises using an interpreter to execute the dynamic language source code in an envir
Source to source · CPC title
Runtime code conversion or optimisation · CPC title
Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.