Patent classifications
G06F8/51
OPERATOR REGISTRATION METHOD AND APPARATUS FOR DEEP LEARNING FRAMEWORK, DEVICE AND STORAGE MEDIUM
The present disclosure provides an operator registration method and apparatus for a deep learning framework, a device and a storage medium, relates to the field of computer technologies, and specifically to the field of artificial intelligence such as deep learning. The operator registration method for a deep learning framework includes: receiving registration information provided by a user for registering operators with the deep learning framework, the registration information including: a custom calculation function, the custom calculation function being written in a manner irrelevant to the deep learning framework; building operator meta-information in the deep learning framework based on the registration information; and constructing a to-be-registered operator within the deep learning framework based on the operator meta-information, and registering the to-be-registered operator in a global operator table within the deep learning framework. The present disclosure can simplify an operator registration process.
Blackbox matching engine
A method and apparatus are disclosed for enhancing operable functionality of input source code files from a software program by identifying a first code snippet and a first library function which generate similar outputs from a shared input by parsing each and every line of code in a candidate code snippet to generate a templatized code snippet data structure for the first code snippet, and then testing the templatized code snippet data structure against extracted library function information to check for similarity of outputs between the first code snippet and the first library function in response to a shared input so that the developer is presented with a library function recommendation which includes the first code snippet, the first library function, and instructions for replacing the first code snippet with the first library function.
Blackbox matching engine
A method and apparatus are disclosed for enhancing operable functionality of input source code files from a software program by identifying a first code snippet and a first library function which generate similar outputs from a shared input by parsing each and every line of code in a candidate code snippet to generate a templatized code snippet data structure for the first code snippet, and then testing the templatized code snippet data structure against extracted library function information to check for similarity of outputs between the first code snippet and the first library function in response to a shared input so that the developer is presented with a library function recommendation which includes the first code snippet, the first library function, and instructions for replacing the first code snippet with the first library function.
SYSTEM AND METHOD FOR COMPILING HIGH-LEVEL LANGUAGE CODE INTO A SCRIPT EXECUTABLE ON A BLOCKCHAIN PLATFORM
A computer-implemented method (and corresponding system) is provided, that enables or facilitates the execution of a portion of source code, written in a high-level language (HLL), on a blockchain platform. The method and system can include a blockchain compiler, arranged to convert a portion of high-level source code into a form that can be used with a blockchain platform. This may be the Bitcoin blockchain or an alternative. The method can include: receiving the portion of source code as input; and generating an output script comprising a plurality of op_codes. The op_codes are a subset of op_codes that are native to a functionally-restricted, blockchain scripting language. The outputted script is arranged and/or generated such that, when executed, the script provides, at least in part, the functionality specified in the source code. The blockchain scripting language is restricted such that it does not natively support complex control-flow constructs or recursion via jump-based loops or other recursive programming constructs. The step of generating the output script may comprise the unrolling at least one looping construct provided in the source code. The method may further comprise providing or using an interpreter or virtual machine arranged to convert the output script into a form that is executable on a blockchain platform.
SYSTEM AND METHOD FOR COMPILING HIGH-LEVEL LANGUAGE CODE INTO A SCRIPT EXECUTABLE ON A BLOCKCHAIN PLATFORM
A computer-implemented method (and corresponding system) is provided, that enables or facilitates the execution of a portion of source code, written in a high-level language (HLL), on a blockchain platform. The method and system can include a blockchain compiler, arranged to convert a portion of high-level source code into a form that can be used with a blockchain platform. This may be the Bitcoin blockchain or an alternative. The method can include: receiving the portion of source code as input; and generating an output script comprising a plurality of op_codes. The op_codes are a subset of op_codes that are native to a functionally-restricted, blockchain scripting language. The outputted script is arranged and/or generated such that, when executed, the script provides, at least in part, the functionality specified in the source code. The blockchain scripting language is restricted such that it does not natively support complex control-flow constructs or recursion via jump-based loops or other recursive programming constructs. The step of generating the output script may comprise the unrolling at least one looping construct provided in the source code. The method may further comprise providing or using an interpreter or virtual machine arranged to convert the output script into a form that is executable on a blockchain platform.
SYSTEM AND METHOD OF PROVIDING AN INTERACTIVE DEVELOPMENT PLATFORM IN A DISTRIBUTED COMPUTING ENVIRONMENT
A system and method of providing an interactive development environment may include providing a proxy server module, adapted to interface at least one cloud-based platform and one or more client modules, operatively connected to the proxy server, where each client module may be associated with a respective user development platform. At least one client module may receive, from the respective user development platform, one or more interactive computing documents, commonly referred to as notebooks, each representing one or more scripting code elements, commonly referred to as cells. The proxy server may scan the one or more cells, according to a set of predetermined scripting rules, and encapsulate the one or more notebooks in one or more data containers, based on the scan. The proxy server may subsequently transmit the one or more data containers to a cloud-based platform, to execute at least one cell of the one or more notebooks.
APPLICATION MODERNIZATION
A method analyzes applications for modernization. Processor units analyze each application in the applications in isolation from other applications to identify issues in code for the applications and a number of common code components. The processor units create a directed graph structure using the issues identified in the applications and the number of common code components. The directed graph structure includes relationships between the applications, the number of common code components, and the issues identified. The processor units determine a common code component modernization cost for the number of common code components using the directed graph structure. The processor units determine an application modernization cost for a set of the applications using the directed graph structure. The application modernization cost for the set of the applications takes into account the common code component cost for modernizing the number of common code components a single time.
METHODS, DEVICES, AND MEDIA FOR TWO-PASS SOURCE CODE TRANSFORMATION
Methods, devices and media for two-pass source code transformation from a first high-level programming language to a second high-level programming language are described. Two different source code transformation technologies are combined to produce a two-pass source code transformation method: a compiler-based source code transformation technique is used in a first pass, and a parse-tree-based source code transformation technique is used in second pass. The second pass may be used to automatically refactor the source code to enhance desired properties of the second programming language. A two-pass C-to-Rust transformation technique, CRustS, is described which automatically generates Rust source code that exhibits memory safety and overcomes other limitations of existing tools such as C2Rust.
METHODS, DEVICES, AND MEDIA FOR TWO-PASS SOURCE CODE TRANSFORMATION
Methods, devices and media for two-pass source code transformation from a first high-level programming language to a second high-level programming language are described. Two different source code transformation technologies are combined to produce a two-pass source code transformation method: a compiler-based source code transformation technique is used in a first pass, and a parse-tree-based source code transformation technique is used in second pass. The second pass may be used to automatically refactor the source code to enhance desired properties of the second programming language. A two-pass C-to-Rust transformation technique, CRustS, is described which automatically generates Rust source code that exhibits memory safety and overcomes other limitations of existing tools such as C2Rust.
Method for programming robots and computing device and computer program
A method for programming a robot for carrying out an activity, wherein the robot is equipped with a programmable control unit and the robot programs are created using a standard program generator, wherein the program generator converts one or more sequences of keywords into valid program code for the programmable control unit so the program generator, when converting the keywords in the respective sequence, retrieves information in a programming rulebook, from which the generator receives the program code appropriate for the respective robot type in the predefined syntax, and wherein the program generator combines the received program code sections to form a complete program code.