G06F8/423

Preprocessing tensor operations for optimal compilation
10592213 · 2020-03-17 · ·

Techniques to preprocess tensor operations prior to code generation to optimize compilation are disclosed. A computer readable representation of a linear algebra or tensor operation is received. A code transformation software component performs transformations include output reduction and fraction removal. The result is a set of linear equations of a single variable with integer coefficients. Such a set lends itself to more efficient code generation during compilation by a code generation software component. Use cases disclosed include targeting a machine learning hardware accelerator, receiving code in the form of an intermediate language generated by a cross-compiler with multiple front ends supporting multiple programming languages, and cloud deployment and execution scenarios.

Simple obfuscation of text data in binary files
10586026 · 2020-03-10 · ·

An obfuscation macro can expand obfuscation identification information into a data value during or prior to compiling source code, and insert a de-obfuscation call where the data value is referenced in the source code. An obfuscation utility can scan compiled binaries for data values containing obfuscation identification information. The obfuscation utility identifies and obfuscates data values containing obfuscation identification information within the compiled binaries. The de-obfuscation call de-obfuscates obfuscated data values during runtime.

DIRECT FUNCTION CALL SUBSTITUTION USING PREPROCESSOR
20200073643 · 2020-03-05 ·

Systems and methods for generating a macro substitution command to substitute a single function for a given symbolic name are described. An example method may include a processor analyzing a plurality of build configuration files that describe parameters for building a plurality of source code files. The processor determines whether a single function is declared in the plurality of build configuration files for a given symbolic name. The processor, upon determining that a single function is declared, generates a macro substitution command to substitute an identifier of the single function for the given symbolic name.

Self re-encoding interpreted application

A method for self re-encoding an interpreted application includes parsing a string of characters in a comment section of the interpreted application file. Responsive to determining that at least one character of the string of characters is not readable by the target platform, the processor re-encodes the interpreted application file using the string of characters in the comment section. The re-encoding includes parsing a first character in the string of characters. The processor then, optionally, outputs a warning message indicative that a non-native encoding exists in the interpreted application file. The processor parses a second character sequential to the first character. The second character is a first element in a second string of characters indicative of a re-encoding scheme for re-encoding the interpreted application. The processor then outputs a re-encoded application file that is executable by the processor of the target platform.

Computer speed via metadata-based business rule interpreter

A method of increasing a speed of operation of a computer via a metadata-based business rule interpreter. The method includes receiving, at a processor, user input defining a business rule. The method also includes translating, by the processor, the user input into a domain-specific language entirely consisting of metadata objects, wherein a translated syntax is formed, the translated syntax being an abstract syntax tree structure consisting of only the metadata objects. The method also includes executing, by the processor, an abstract syntax tree interpreter and taking as input into the abstract syntax tree interpreter the translated syntax. A compiler operation to generate computer code for implementing the business rule is avoided. Executing the abstract syntax tree interpreter produces a result in a browser without using executable code to achieve the result.

Cloud assisted behavioral automated testing
10582021 · 2020-03-03 · ·

A computer readable storage medium, system and method for improving automated testing systems to include a first and second behavioral data. The first behavioral data is collected periodically and the second behavioral data is collected in real time. The receipt of the first behavioral data and a second behavioral data are followed by the receipt of a system configuration template. A test case is updated based on the first and second behavioral data, and an automated test environment is reconfigured based on the first behavioral data, second behavioral data, and the system configuration template. The test executes in the automated test environment producing a test result.

DYNAMICALLY REVISING AN IN-PROCESS BUILD
20200065078 · 2020-02-27 ·

Dynamically revising an in-process build is disclosed. A build system receives a build configuration comprising information that defines a plurality of successive stages. Each stage includes at least one step, and one or more of the stages include a plurality of successive steps. The build configuration defines a build process that, when completed, alters a state of a storage device. The build system initiates a build process sequence on the build configuration. The build system, after initiating the build process sequence, receives notification of a desire to add a revision to a particular stage of the plurality of stages defined in the build configuration. A determination is made that performance of the particular stage has or has not begun. In response to the determination, a subsequent build process action is performed.

SYSTEM FOR DEVELOPING A PROGRAM INTENDED TO COMMUNICATE WITH A SET OF AT LEAST ONE DATABASE
20190391794 · 2019-12-26 ·

A system includes an interface; a software library; a pre-compiler adapted to replace each embedded SQL instruction with replacement code in COBOL language including a call to a routine of the software library passing to the routine an instruction issuing from the embedded SQL instruction. The routine is adapted to send to the interface a message including the instruction issuing from the embedded SQL instruction. The interface is a server intended to be connected to a computer network to which the computer device is connected and the routine of which is a client, the interface being designed to relay, as a SQL instruction, the instruction of at least one of the received message(s) to at least one database in the set.

PRE-COMPILER, SYSTEM FOR DEVELOPING A PROGRAM, PRE-COMPILATION METHOD AND CORRESPONDING COMPUTER PROGRAM
20190391790 · 2019-12-26 ·

A pre-compiler is arranged to analyze a source code including main code written in a main computer language and at least one block of code written in another computer language embedded in the main code, and replace each block of embedded code by replacement code in the main computer language. The pre-compiler is further arranged to search, in the block(s) of embedded code, for an expression including a main variable intended to contain a string of characters, an indicator variable intended to contain an integer, and one or more predefined characters for association of the main and indicator variables, and to replace each expression found by code in the main computer language providing the N first characters of the first variable, N being the value of the indicator variable.

Accelerating static program analysis with artifact reuse

A system performs static program analysis with artifact reuse. The system identifies artifacts associated with the software program being analyzed. The system processes the identified artifacts for performing static program analysis and transmits either the artifacts or identifiers for the artifacts to a second processing device for performing program analysis. The second processing device receives the artifacts and uses the received identifiers to retrieve the artifacts from a networked storage system. The second device also retrieves stored summaries of previous program analysis from the networked storage system. The program analysis uses the retrieved artifacts to generate work units for static program analysis. The analysis is performed only for those work units that are determined to remain unchanged from previous static program analysis cycles.