IP Library Granted Patent US 12,536,009
Granted Patent B2
US 12,536,009 · App. 17/957,704 · Granted Jan 27, 2026

Installation script auto-generation to create source code runtime environment

Inventor: Jagadeshwar Reddy Nomula (Cupertino, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F8/65G06F8/76G06F9/45504
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,536,009
App. No.
17/957,704
Granted
Jan 27, 2026
Kind
B2
Abstract

A method for auto-generating an installation script that creates a runtime environment for a source code comprises receiving a source code identifier identifying the source code; determining characteristics of a target execution runtime environment in which the source code is to be executed; extracting dependency identifiers from the source code; and providing the dependency identifiers and the characteristics of the target execution runtime environment to a trained machine learning (ML) model. The method further comprises receiving from the trained ML model library version identifiers that each identify a library supporting a corresponding one of the dependency identifiers and that is compatible with the characteristics of the target execution runtime environment. An installation script usable to create the target execution runtime environment is composed from the ML model outputs.

Claims (59)

1 . A method for auto-generating an installation script that creates a runtime environment for a source code, the method comprising:

receiving a source code identifier identifying the source code;

determining characteristics of a target execution runtime environment for the source code;

extracting dependency identifiers from the source code;

providing the dependency identifiers and the characteristics of the target execution runtime environment to a trained machine learning (ML) model, the trained ML model being trained to identify sets of library version identifiers for an input source code that are compatible with different target execution runtime environments;

receiving, from the trained ML model, library version identifiers that each identify a version of a library supporting a corresponding one of the dependency identifiers and that is compatible with the characteristics of the target execution runtime environment; and

composing the installation script that includes the library version identifiers, the installation script being usable to create the target execution runtime environment for the source code.

2 . The method of claim 1 , wherein the installation script is an executable file that generates the target execution runtime environment.

3 . The method of claim 1 , wherein the installation script is a text file input to an installation function that uses the installation script to create the target execution runtime environment.

4 . The method of claim 1 , wherein the characteristics of the target execution runtime environment are characteristics of a user machine and the method further comprises:

providing the installation script to the user machine.

5 . The method of claim 1 , wherein the method further comprises:

configuring a container on a virtual machine with the characteristics of the target execution runtime environment;

creating the execution runtime environment for the source code in the container on the virtual machine using the installation script; and

responsive to successful creation of the execution runtime environment in the container on the virtual machine, providing a user device with access to the container.

6 . The method of claim 1 , wherein determining the characteristics of the target execution runtime environment includes detecting the characteristics of the target execution environment from a user device.

7 . The method of claim 1 , further comprising:

generating multiple different versions of the installation script;

configuring multiple virtual machines with the characteristics of the target execution runtime environment;

testing each of the different versions of the installation script in parallel on the configured multiple virtual machines.

8 . The method of claim 1 , wherein the installation script specifies an order of dependencies identified by the dependency identifiers, the order facilitating error-free compilation of the dependencies.

9 . The method of claim 1 , wherein the trained ML model includes at least one of a transformer model and a transfer learning model.

10 . A system auto-generating an installation script that creates a runtime environment for a source code, the system comprising:

a processing system;

memory;

an installation script generation engine stored in the memory and executable by the processing system to:

receive, from a device, a source code identifier identifying a source code;

receive, from the device, characteristics of a target execution runtime environment for the source code;

extract dependency identifiers from the source code;

provide the dependency identifiers and the characteristics of the target execution runtime environment to a trained machine learning (ML) model, the trained ML model being trained to identify sets of library version identifiers for an input source code that are compatible with different target execution runtime environments;

receive, from the trained ML model, library version identifiers that each identify a version of a library supporting a corresponding one of the dependency identifiers and that is compatible with the characteristics of the target execution runtime environment; and

compose the installation script that includes the library version identifiers, the installation script being usable to create the target execution runtime environment for the source code.

11 . The system of claim 10 , wherein the characteristics of the target execution runtime environment include detected characteristics of the device.

12 . The system of claim 10 , wherein the characteristics of the target execution runtime environment are characteristics of the device and the installation script generation engine is further configured to:

provide as output the installation script to the device.

13 . The system of claim 10 , wherein the characteristics of the target execution runtime environment are user-specified characteristics and the installation script generation engine is further executable to:

configure a container on a virtual machine with the characteristics of the target execution runtime environment;

use the installation script to create the execution runtime environment for the source code in the container on the virtual machine; and

responsive to successful creation of the execution runtime environment in the container on the virtual machine, provide the device with access to the container.

14 . The system of claim 10 , wherein installation script generation engine is further executable to:

generate multiple different versions of the installation script;

configure multiple virtual machines with the characteristics of the target execution runtime environment;

test each of the different versions of the installation script in parallel on the configured multiple virtual machines; and

responsive to a successful test of a particular version of the installation script on a virtual machine, provide access to a runtime execution environment created on the virtual machine by the successful test.

15 . The system of claim 10 , wherein the installation script specifies an order of dependencies identified by the dependency identifiers, the order facilitating error-free compilation of the dependencies.

16 . The system of claim 10 , wherein the trained ML model includes at least one of a transformer model and a transfer learning model.

17 . A method comprising:

training a machine learning (ML) model with a set of training inputs including source code products and, for each one of the source code products:

a corresponding installation script successfully used to create a runtime environment for the source code product; and

characteristics of a computing environment in which the runtime environment was successfully created by the installation script;

extracting dependency information from a source code file;

providing as input to the ML model the dependency information along with a set of characteristics of a target execution runtime environment, the trained ML model being trained to identify sets of library version identifiers for an input source code that are compatible with different target execution runtime environments; and

receiving as output from the ML model a set of library version identifiers, each one of the library version identifies identifying a version of a library that supports a dependency in the source code product and that is compatible with the characteristics of the target runtime environment; and

composing the installation script that includes the set of library version identifiers.

18 . The method of claim 17 , wherein the outputs from the ML model provide an ordering for the library version identifiers that supports error-free compilation of a set of corresponding libraries.

19 . The method of claim 17 , wherein the installation script is at least one of an executable file that generates the target execution runtime environment and a text file input to an installation function that uses the installation script to create the target execution runtime environment.

20 . The method of claim 17 , further comprising:

using the installation script to create a runtime environment for the source code on a virtual machine; and

providing access to the runtime environment on the virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2022
From: NOMULA, JAGADESHWAR REDDY
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 061275/0549 →
Continuity (2)
Provisional Application 63344161 · May 20, 2022
Related Publication 20230376296A1 · Nov 23, 2023
References Cited (20)
US 7890925B1 · Wyatt et al. · 2011 [cited by applicant]
US 8316349B2 · Morozov et al. · 2012 [cited by applicant]
US 9893942B2 · Kripalani et al. · 2018 [cited by applicant]
US 9928059B1 · Sartor et al. · 2018 [cited by applicant]
US 10254986B2 · Chan et al. · 2019 [cited by applicant]
US 11262997B2 · Singh et al. · 2022 [cited by applicant]
US 11620128B1 · Chawda · 2023 [cited by examiner]
US 20090177686A1 · Doeswijk · 2009 [cited by applicant]
US 20200285464A1 · Brebner · 2020 [cited by examiner]
US 20210241167A1 · Li · 2021 [cited by examiner]
US 20210279066A1 · Xiao · 2021 [cited by examiner]
US 20220156053A1 · Shaastry · 2022 [cited by examiner]
CN 109725912A · 2019 [cited by applicant]
CN 110096401A · 2019 [cited by applicant]
CN 112068852A · 2020 [cited by applicant]
“2.7. Automated Installation”, Retrieved from: https://web.archive.org/web/20190719093509/https:/access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html/installation_guide/sect-autom… [cited by applicant]
“How to Automatically Install Required Packages from a Python Script as Necessary?”, Retrieved from: https://stackoverflow.com/questions/46419607/how-to-automatically-install-required-packages-from-a-python-script-as-ne… [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/016666”, Mailed Date: Jul. 3, 2023, 12 Pages. [cited by applicant]
Pokorny, et al., “Customize Python Dependency Resolution with Machine Learning”, Retrieved from: https://developers.redhat.com/articles/2021/11/17/customize-python-dependency-resolution-machine-learning, Nov. 17, 2021, … [cited by applicant]
Pokorny, Fridolin, “Resolve Python Dependencies with Thoth Dependency Monkey”, Retrieved from: https://developers.redhat.com/articles/2021/09/17/resolve-python-dependencies-thoth-dependency-monkey#, Sep. 17, 2021, 7 Pag… [cited by applicant]