Patent classifications
G06F8/425
FAST COMPILING SOURCE CODE WITHOUT DEPENDENCIES
Techniques for an ultra-fact software compilation of source code are provided. A compiler receives software code and may divide it into code sections. A map of ordered nodes may be generated, such that each node in the map may include a code section and the order of the nodes indicates an execution order of the software code. Each code section may be compiled into an executable object in parallel and independently from other code sections. A binary executable may be generated by linking executable objects generated from the code sections. The methodology significantly differs from existing source code compilation techniques because conventional compilers build executable sequentially, whereas the embodiments divide the source code into multiple smaller code sections and compile them individually and in parallel. Compiling multiple code sections improves the compilations in order of magnitude from conventional techniques.
Techniques for using controlled natural language to capture design intent for computer-aided design
A computing device for receiving a design problem statement describing a design problem in a controlled natural language (CNL) that defines permitted lexicons and syntax structures. The design problem statement is processed using the CNL lexicons and syntax structures to produce a job description executable by a design application for generating a design solution for the design problem statement. An improved CNL user interface that assists users to produce valid design problem statements that are CNL-compliant. The CNL user interface receives user-selectable terms that are compliant with the CNL lexicons and generates candidate problem statements that are compliant with CNL syntax structures and receives a selection of a candidate problem statement that is added to the design problem statement. A graphical user interface may display a graphical representation of a design problem statement that can be directly modified. A dialogue-based design process to explore possible design intentions and design solutions.
Techniques for using controlled natural language to capture design intent for computer-aided design
A computing device for receiving a design problem statement describing a design problem in a controlled natural language (CNL) that defines permitted lexicons and syntax structures. The design problem statement is processed using the CNL lexicons and syntax structures to produce a job description executable by a design application for generating a design solution for the design problem statement. An improved CNL user interface that assists users to produce valid design problem statements that are CNL-compliant. The CNL user interface receives user-selectable terms that are compliant with the CNL lexicons and generates candidate problem statements that are compliant with CNL syntax structures and receives a selection of a candidate problem statement that is added to the design problem statement. A graphical user interface may display a graphical representation of a design problem statement that can be directly modified. A dialogue-based design process to explore possible design intentions and design solutions.
ASSESSING OPERATIONAL STABILITY OF COMPUTER SYSTEM BY INTEGRITY CHECKING OF COMPUTER PROGRAM
A computer-implemented method for checking the integrity of a target computer program to be executed in a computer system.
Source code similarity detection using digital fingerprints
Similarity in source code is identified by searching digital fingerprints representing at least control flow of blocks of programming statements. At least some of the source code is converted into a plurality of respective tokens. Each of the tokens is associated with a plurality of blocks. Tokens are modified by normalizing at least one value in at least one of the blocks and/or by defining at least one abstraction. Thereafter, a representation of control flow is created, and a digital fingerprint representing at control flow of a token is generated. Thereafter, source code within at least one block of a given token is determined and identifiable as being a duplicate of source code stored in a repository by comparing at least one of the generated digital fingerprints and at least one previously generated digital fingerprint.
MICROSERVICE MANAGEMENT SYSTEM FOR RECOMMENDING MODIFICATIONS TO OPTIMIZE OPERATION OF MICROSERVICE-BASED SYSTEMS
A method, system and computer-usable medium are disclosed for executing a comparative analysis of microservice profiles and recommending modifications to a microservice. In at least one embodiment, a plurality of microservice analysis daemons and a plurality of microservices are deployed to nodes of a network. Run-time execution characteristic of the plurality of microservices are monitored and gathered by the analysis daemons for microservices executed at the node at which the microservice analysis daemon is deployed. Microservice profiles are generated using the run-time execution characteristics data and data retrieved from a service registry. Recommendations regarding modification of one or more microservices are made based on the results of a microservice profile comparative analysis.
GENERATING CLOSURES FROM ABSTRACT REPRESENTATION OF SOURCE CODE
A device may receive source code and identify, based on the source code, an abstract syntax tree representing an abstract syntactic structure of the source code. Based on the abstract syntax tree, the device may identify a closure, the closure implementing a function based on at least a portion of the abstract syntax tree. In addition, the device may perform an action based on the closure.
Data control-oriented smart contract static analysis method and system
A data-control-oriented program static analysis method includes: compiling and interpreting a code of a smart contract to generate a bytecode of the code of the smart contract; resolving a control-flow relation between instructions of the bytecode, and building and printing a control-flow graph according to the control-flow relation; adding a taint source in the smart contract to an analysis result of a starting block of the control-flow graph, traversing the control-flow graph, performing a data dependence analysis based on a taint analysis technique, continuously updating an analysis result of a basic block in the control-flow graph; predefining an expression form of an analysis result and a basic operation related to the analysis result for the static analysis, controlling an updating of the analysis result according to a definition, and returning a final analysis result; and according to the final analysis result, generating and returning an analysis report.
Deriving many idiomatic programming language interfaces
Computer-implemented techniques for deriving many idiomatic programming language interfaces. The techniques allow a programmer to provide idiomatic interfaces in many different programming languages without extra per-language effort. The techniques provide a solution to technical problems involved in providing idiomatic interfaces in many different programming languages. In particular, the techniques solve the problem of providing idiomatic interfaces that use the different definitional elements required by different programming languages, and in a way that programmers experienced in the language expect.
Executable programs representing firewall rules for evaluating data packets
Techniques for compiling firewall rules into byte code or assembly code that can be loaded into cache memory of a processor and executed to evaluate received data packets. Rather than representing firewall rules in mid- or high-level languages stored in main memory, the techniques described herein include compiling the firewall rules into bytecode or assembly code, and distributing the code to the data plane. A packet-processing device may load the code representing the firewall rules into instruction cache of the processor. Further, the packet-processing device receives a data packet and extracts packet context data indicating attributes of the packet, and load the packet context data into a data cache of the processor. The processor can then execute the byte code or assembly code representing the firewall rules to evaluate the packet context data without having to access main memory to determine whether allow or block the data packet.