SUMMARY

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The present invention is defined by the claims as supported by the Specification, including the Detailed Description.

In brief and at a high level, this disclosure describes, among other things, methods and computer-readable media for generating asynchronous runtime compatible applications from synchronous computer-programming instructions. As will be understood by a person having ordinary skill in the art reading this disclosure, synchronous computer-programming instructions are not compatible and cannot be successfully executed using asynchronous processing.

A computerized method is provided in an embodiment of the present invention. The computerized method comprises obtaining source code for an application. The method comprises parsing the source code to identify a function encoded for execution via synchronous processing and modifying the function in the source code by encoding the function for execution via asynchronous processing, in embodiments. The method stores the source code having the modified function.

Another embodiment provides one or more non-transitory computer-readable media having computer-executable instructions embodied thereon that, when executed, perform a method. The method comprises obtaining source code for an application that is not compatible with asynchronous processing. The method parses the source code to identify functions, in embodiments, and determines that a plurality of the functions rely on synchronous processing. In embodiments, the method modifies the source code corresponding to each of the plurality of functions to include one or more asynchronous functions. The modified source code is stored in a new location in a code base, wherein the modified source code is compatible with asynchronous processing.

Yet another embodiment provides one or more non-transitory computer-readable media having computer-executable instructions embodied thereon that, when executed, perform a method. The method comprises obtaining source code for an application that is not compatible with asynchronous processing and parsing the source code to identify functions. In embodiments, the method identifies a plurality of functions as unsafe functions that rely on synchronous processing, wherein the plurality of functions includes parent functions of functions that rely on synchronous processing. The method then modifies the source code corresponding to each of the plurality of unsafe functions using asynchronous functions, wherein parsing further comprises identifying parent functions of the unsafe functions. The modified source code is stored as a new version in a new location in a code base, wherein the modified source code is compatible with asynchronous processing. The method provides the modified source code to an asynchronous runtime environment for processing, in some embodiments.

