Patent classifications
G06F9/45
METHOD FOR STATIC SECURITY ENFORCEMENT OF A DSL
An example system and method for securing computer code of a dynamic Domain Specific Language (DSL) that leverages a General Purpose Language (GPL). An example method includes enhancing compile-time security enforcement functionality for computer code written using the DSL, in part by using a compiler to perform static analysis on the DSL computer code. The static analysis includes referencing a security policy defining one or more unacceptable program behaviors; and indicating when execution of the computer code would result in performance of the one or more unacceptable program behaviors based on results of the static analysis.
Transmission point pattern extraction from executable code in message passing environments
Extractable annotations are created and stored for different transmission points. In some instances, this occurs during compiling. One type of transmission point is a message being passed to another process. Once the transmission point is identified, a pattern defining output for the transmission point is then identified. A first extractable annotation defining the first patter is then created and stored for subsequent use.
Automatic reference counting
Methods for enabling automatic reference counting are disclosed. A source code is searched for a particular pattern via a compiler associated with a computer system, wherein the source code is written in an existing language and wherein the particular pattern is for a reference associating an object with a portion of memory. The particular pattern is recognized at the computer system. The particular pattern is replaced with an automatic reference counting implementation at the computer system. The source code is executed with the automatic reference counting implementation.
Offline shader compilation
Systems and techniques are provided that allow for installation of an application on a mobile device using a shader executable suitable for execution by the mobile device. When a request to install an application is received by an application distribution platform, a shader configured for the device is generated by the platform and provided with the application package for installation on the device. Thus, launch-time compilation and just-in-time re-compilation may be avoided.
Automatic conversion of sequential array-based programs to parallel map-reduce programs
The present disclosure relates generally to the field of automatic conversion of sequential array-based programs to parallel MapReduce programs. In various examples, automatic conversion of sequential array-based programs to parallel MapReduce programs may be implemented in the form of systems, methods and/or algorithms.
Variable inference system and method for software program
A variable inference system and a variable inference method for a software program are provided. The variable inference system and method calculate a first variable type output corresponding to an unknown variable for a plurality of first basic blocks of a software program. The variable inference system and method calculate a second variable type input corresponding to the unknown variable for a second basic block of the software program. The variable inference system and method calculate a second variable type generation when the second basic block includes a primitive instruction corresponding to the unknown variable. The variable inference system and method calculate a second variable type kill. The variable inference system and method calculate a second variable output corresponding to the unknown variable for the second basic block according to the second variable type input, the second variable type generation and the second variable type kill.
User-perceived performance through browser hints
Features are disclosed for enabling servers to initiate the opening of connections with clients, initiate transfers of data to clients, and provide clients with hints regarding which content retrieval, connection establishment, and other network operations will likely improve user-perceived performance on the client. A token may be transmitted from a client to a server, and the server may utilize the token to initiate a network connection with the client and send data to the client. The token may also be passed to a third party for similar use. Hints may be provided to the client, indicating actions that the client may perform in order to improve content processing efficiency and enhance a user experience with the content. The disclosed features may, for example, be incorporated into web browser and server software.
METHOD FOR VERIFYING TRACEABILITY OF FIRST INSTRUCTIONS IN A PROCEDURAL PROGRAMMING LANGUAGE GENERATED FROM SECOND INSTRUCTIONS IN A MODELLING LANGUAGE
The present invention concerns a method for verifying traceability of first code instructions in a procedural programming language generated from second code instructions in a modelling language, characterised in that it comprises the implementation, by a piece of equipment (1), of steps of: (a) Syntactic analysis: o of the first instructions so as to generate an AST, and o of the second instructions so as to generate an MDT; (b) Semantic analysis: o Of the AST so as to identify patterns representative of basic functional blocks of the first instructions; o Of the MDT so as to identify characteristic properties of basic functional blocks of the second instructions; (c) Matching, pairwise, the identified basic functional blocks, and confirming the traceability of first code instructions only if: o for each block of the first instructions, there is a functionally equivalent block in the second instructions, and o for each block of the second instructions, there is a functionally equivalent block in the first instructions.
DATA PROCESSING METHOD
A method of data processing comprises a first instance of a computer program allocating a first contiguous portion of memory for storing program heap variables. The first instance processes data including storing variables in the program heap. When the first instance is to cease data processing, the first contiguous portion of memory is copied to persistent memory. A second instance of the computer program allocates a second contiguous portion of memory for storing program heap variables, the second contiguous portion of memory being at least as large as the first contiguous portion of memory. The second instance copies the persistent memory into the second contiguous portion of memory; and resumes processing data based on variables stored in the program heap in the second contiguous portion of memory.
COMPILER FOR TRANSLATING BETWEEN A VIRTUAL IMAGE PROCESSOR INSTRUCTION SET ARCHITECTURE (ISA) AND TARGET HARDWARE HAVING A TWO-DIMENSIONAL SHIFT ARRAY STRUCTURE
A method is described that includes translating higher level program code including higher level instructions having an instruction format that identifies pixels to be accessed from a memory with first and second coordinates from an orthogonal coordinate system into lower level instructions that target a hardware architecture having an array of execution lanes and a shift register array structure that is able to shift data along two different axis. The translating includes replacing the higher level instructions having the instruction format with lower level shift instructions that shift data within the shift register array structure.