G06F8/41

Building a package dependencies data structure
11580232 · 2023-02-14 · ·

A system, product and process for building a package dependencies data structure. The method comprises determining a package instance identifier of the package to be processed. The package instance identifier is determined based on a unique identifier of the package to be processed and based on a unique identifier of a dependency sub-tree of the package to be processed in the package instance identifier. The package instance identifier is utilized to determine if a node representing the package to be processed exists or not. In case the node does not exist already in the data structure, the node is created and added.

Automatic accuracy management for quantum programs via symbolic resource estimation

Embodiments of the disclosed technology concern transforming a high-level quantum-computer program to one or more symbolic expressions. Because the transformations lead to symbolic expressions in the compiled code, one can extract these to arrive at symbolic resource estimates for the quantum program. In cases where these transformations do not yield closed-form solutions, they can still be evaluated many orders of magnitude faster than it was possible using other resource estimation tools. Having access to such symbolic or near-symbolic expressions not only greatly improves the performance of accuracy management and resource estimation, but also better informs quantum software developers of the bottlenecks that may be present in the quantum program. In turn, the underlying quantum-computer program can be improved as appropriate.

Multi-chip compatible compiling method and device

A multi-chip compatible compiling method includes: extracting common characteristic information of Makefiles; configuring variable attribute information of the Makefiles; obtaining a universal Makefile template for multiple chips according to the common characteristic information and the variable attribute information of the Makefiles; traversing a project to be compiled in the universal Makefile template by a compilation module, recording path information of a dependency file of the project to be compiled, replacing a variable value in the universal Makefile template, and determining automation configuration information of the universal Makefile template; invoking an incremental compilation mechanism of a Make tool according to the automation configuration information of the universal Makefile template to obtain a target Makefile of the project to be compiled; and processing the target Makefile by rule information and pseudo-target tag information in the Makefiles to obtain an executable file generated by compilation.

Method and system for identification of redundant function-level slicing calls

This disclosure relates generally to the field of source code processing, and, more particularly to a method and system for identification of redundant function-level slicing calls. The method disclosed generates program dependence graphs (PDGs) based on a slicing criteria and a function corresponding to the function-level slicing call. Further the method classifies the function-level slicing call into redundant or non-redundant by traversing the PDGs and checking if a predefined condition is satisfied or not. The function-level slicing calls are classified as redundant if the check is not satisfied and are classified as non-redundant if the check is satisfied. The disclosed method can be used in identifying redundant function-level slicing calls in applications such as automated false positive elimination (AFPE), automated test case generation and so on.

Method and system for identification of redundant function-level slicing calls

This disclosure relates generally to the field of source code processing, and, more particularly to a method and system for identification of redundant function-level slicing calls. The method disclosed generates program dependence graphs (PDGs) based on a slicing criteria and a function corresponding to the function-level slicing call. Further the method classifies the function-level slicing call into redundant or non-redundant by traversing the PDGs and checking if a predefined condition is satisfied or not. The function-level slicing calls are classified as redundant if the check is not satisfied and are classified as non-redundant if the check is satisfied. The disclosed method can be used in identifying redundant function-level slicing calls in applications such as automated false positive elimination (AFPE), automated test case generation and so on.

LOGICALLY SPLITTING OBJECT CODE INTO MODULES WITH LAZY LOADING OF CONTENT
20230044055 · 2023-02-09 ·

A method for receiving a first portion of object code, analyzing a first portion of object code in a static manner to determine a call tree hierarchy, dividing, by a synthetic compiler, the first portion of object code into a plurality of modules; and starting to run the first portion of object code to start a runtime phase, with the running of the first portion of the object code including: (i) lazy loading of the modules of the plurality of modules of the first portion of object code, and/or (ii) eager unloading of the modules of the plurality of modules of the first portion of object code.

IMPORT OF DEPLOYABLE CONTAINERS AND SOURCE CODE IN CLOUD DEVELOPMENT ENVIRONMENT

Various systems and methods are described for testing and deployment of containers on cloud and edge computing hardware. An example development platform may include capabilities for identifying, from a remote location, data to import a container software package. The development platform may store a container image, based on the data to import the container software package.

The development platform may perform a security evaluation of the container image, before execution of the container image. The development platform may store results of the security evaluation of the container image in a database accessible to the development platform. The development platform may add the container image into a registry of containers available for execution at the development platform, with execution of the container image being based on verification of the results of the security evaluation and use of the registry of containers.

IMPORT OF DEPLOYABLE CONTAINERS AND SOURCE CODE IN CLOUD DEVELOPMENT ENVIRONMENT

Various systems and methods are described for testing and deployment of containers on cloud and edge computing hardware. An example development platform may include capabilities for identifying, from a remote location, data to import a container software package. The development platform may store a container image, based on the data to import the container software package.

The development platform may perform a security evaluation of the container image, before execution of the container image. The development platform may store results of the security evaluation of the container image in a database accessible to the development platform. The development platform may add the container image into a registry of containers available for execution at the development platform, with execution of the container image being based on verification of the results of the security evaluation and use of the registry of containers.

Bootstrapping profile-guided compilation and verification

Apparatus and methods related providing application execution information (AEI) are provided. A server can receive a request to provide a software package for a particular software application. The server can determine composite AEI (CAEI) for the particular software application. The CAEI can include a composite list of software with data about software methods of the particular software application executed by a computing device other than the server. The server can extract particular AEI related to the particular software application from the CAEI. The particular AEI can provide compiler hints for compiling at least one software method predicted to be executed by the particular software application. The server can generate the software package, where the software package can include the particular software application and the particular AEI. The server can provide the software package.

Bootstrapping profile-guided compilation and verification

Apparatus and methods related providing application execution information (AEI) are provided. A server can receive a request to provide a software package for a particular software application. The server can determine composite AEI (CAEI) for the particular software application. The CAEI can include a composite list of software with data about software methods of the particular software application executed by a computing device other than the server. The server can extract particular AEI related to the particular software application from the CAEI. The particular AEI can provide compiler hints for compiling at least one software method predicted to be executed by the particular software application. The server can generate the software package, where the software package can include the particular software application and the particular AEI. The server can provide the software package.