Patent classifications
G06F8/436
SOFTWARE APPLICATION DEPLOYMENT
Methods, computer program products, and systems can include obtaining a first computing environment specific application deployment software code instance associated to a first computing environment, the first computing environment specific application deployment software code instance for deployment of a certain application on the first computing environment; parsing the first computing environment specific application deployment software code instance, wherein the parsing includes determining attributes of the first computing environment specific application deployment software code instance and generating, using the determined attributes of the first computing environment specific application deployment software code instance, a computing environment agnostic semantic tree data structure that expresses a workflow pattern for deployment of the certain application; and composing, with use of the computing environment agnostic semantic tree data structure, a second computing environment specific application deployment software code instance associated to a second computing environment for deployment of the certain application on the second computing environment.
Efficient semantic analysis of program code
Provided are systems and methods of a compiler that efficiently processes semantic analysis. For example, the compiler may perform semantic analysis on as much of the source code as possible during compile time. For any instructions, such as dynamic expressions, that are not known at compile time, the compiler may encode semantic bytecode for performing the semantic checks on such dynamic expressions, and their dependent expressions, during execution/runtime of the program. In one example, the method may include compiling source code of a program into bytecode, identifying, during the compiling, a dynamic expression that includes one or more dependent static expressions within the source code, generating semantic bytecode for semantic analysis of the one or more dependent static expressions of the dynamic expression, and adding the semantic bytecode to the bytecode of the program.
Methods, controllers, and machine-readable storage media for automated commissioning of equipment
Tools and techniques are described to automate commissioning of physical spaces. Controllers have access to databases of the devices that are controlled by them, including wiring diagrams and protocols, such that the controller can automatically check that each wire responds correctly to stimulus from the controller. Controllers also have access to databases of the physical space such that they can check that sensors in the space record the correct information for device activity, and sensors can cross-check each other for consistency. Once a physical space is commissioned, incentives can be sought based on commissioning results.
Methods and apparatus to improve disambiguation and interpretation in automated text analysis using transducers applied on a structured language space
Methods and apparatus for automated processing of natural language text is described. The text can be preprocessed to produce language-space data that includes descriptive data elements for words. Source code that includes linguistic expressions, and that may be written in a programming language that is user-friendly to linguists, can be compiled to produce finite-state transducers and bi-machine transducers that may be applied directly to the language-space data by a language-processing virtual machine. The language-processing virtual machine can select and execute code segments identified in the finite-state and/or bi-machine transducers to disambiguate meanings of words in the text.
COGNITIVE METHOD TO SPLIT MONOLITHIC ARCHITECTURE INTO MICROSERVICE ARCHITECTURE
A method and related system detail a split of an architecture of a monolithic application into an architecture of a micro service application. The method receives source code for the monolithic application, and maps the source code into a directed graph. The graph is split into subgraphs and optimized. The method further provides the detailing of the micro service application split, based on the subgraphs.
Perceptible indicators of wires being attached correctly to controller
Tools and techniques are described to automate line testing when wiring devices (such as equipment and sensors) to controllers. Controllers have access to databases of the devices that are controlled by them, including wiring diagrams and protocols, such that the controller can automatically check that each wire responds correctly to stimulus from the controller. After testing, a reporting device rapidly shows the results of the line testing.
Using natural language latent representation in automated conversion of source code from base programming language to target programming language
Using a natural language (NL) latent presentation in the automated conversion of source code from a base programming language (e.g., C++) to a target programming language (e.g., Python). A base-to-NL model can be used to generate an NL latent representation by processing a base source code snippet in the base programming language. Further, an NL-to-target model can be used to generate a target source code snippet in the target programming language (that is functionally equivalent to the base source code snippet), by processing the NL latent representation. In some implementations, output(s) from the NL-to-target model indicate canonical representation(s) of variables, and in generating the target source code snippet, technique(s) are used to match those canonical representation(s) to variable(s) of the base source code snippet. In some implementations, multiple candidate target source code snippets are generated, and a subset (e.g., one) is selected based on evaluation(s).
Automatic code reconfiguration based on function and subfunction analysis
Disclosed herein are techniques for automatically reconfiguring code based on function and subfunction analysis. Techniques include determining, by parsing a code structure representing a plurality of functions, that at least one first function has a threshold degree of complexity; identifying, in response to the determination, a plurality of subfunctions based on the at least one first function, the plurality of subfunctions having a commonality with the at least one first function; and forming a second function by reconfiguring the first function to call at least one of the identified plurality of subfunctions.
Automated code generation using analysis of design diagrams
Methods, systems, and computer-readable media for automated code generation using analysis of design diagrams are disclosed. A diagram-to-code system determines one or more security properties of a plurality of components associated with a software product. Relationships between the components are indicated in a software design diagram. At least some of the security properties are determined using input to a user interface. The diagram-to-code system generates one or more secure code packages based (at least in part) on the software design diagram and the one or more security properties. The secure code package(s) implement one or more security controls associated with the software product. The secure code package(s) are provided to a developer. The secure code package(s) and additional program code from the developer are compiled into a compiled software product. Execution of the compiled software product mitigates security vulnerabilities using the one or more security controls.
Data structure allocation into storage class memory during compilation
A method, a computer program product, and a system for allocating a variable into storage class memory during compilation of a program. The method includes selecting a variable recorded in a symbol table during compilation and computing a variable size of the variable by analyzing attributes related to the variable. The method further includes computing additional attributes relating to the variable. The method also includes computing a control flow graph and analyzing the control flow graph and the additional attributes to determine an allocation location for the variable. The method further includes allocating the variable into a storage class memory based on the analysis performed.