| CPC G06F 11/3604 (2013.01) [G06F 8/30 (2013.01); G06F 11/3438 (2013.01)] | 15 Claims |

|
1. A computing device comprising:
a processor;
a network interface coupled to the processor to enable communication over a network;
a storage device for content and programming coupled to the processor;
a migration engine stored in the storage device, wherein an execution of the engine by the processor configures a user device to perform acts comprising:
monitoring user actions in an interactive computing notebook of a source code development environment using notebook fragments, wherein user actions with the interactive computing notebook include, modifying and/or executing the notebook fragments of a source code project;
subsequent to the monitoring:
determining a content of each notebook fragment, wherein the content comprises determining whether the notebook fragment is a hot spot to be transformed to a new execution environment and/or determining the type of data in the notebook fragment, wherein determining whether the fragment is a hot spot is based on a user execution count of the notebook fragment being above a threshold;
determining a development phase of the source code project based at least on the monitored user actions;
determining a fidelity of the determined hot spots to be transformed to a new execution environment based on the monitored user actions and the determined development phase, wherein the fidelity is determined to be high fidelity if the fidelity is above a threshold;
determining that a new execution environment is warranted based on the determined fidelity of the determined hotspots being above a threshold;
wherein upon determining that a new execution environment is warranted:
determining a set of data transformations for data reduction of the determined hot spots, wherein the higher the fidelity the more aggressive data transformations are determined for the data reduction;
performing data transformations on the determined hot spots based on the determined set of data transformations;
selecting the new execution environment for the determined hot spots; and
executing the one or more notebook fragments of the determined hot spots in the new execution environment.
|