G06F8/4434

SYSTEMS AND METHODS FOR CONVOLUTIONAL NEURAL NETWORK OBJECT DETECTION AND CODE REPAIR

Embodiments of the present invention comprise systems, methods, and computer program products providing an artificial intelligence (AI) powered solution to self-heal script failures and to maintain UI code as up-to-date according to application changes. The invention introduces the use of convolutional neural networks (CNNs) in test automation for visual identification of UI objects and classification of corresponding code language requirements for the UI objects. The invention may include building dynamic UI objects in the event of detected failures within a test environment.

DETERMINISTIC MEMORY ALLOCATION FOR REAL-TIME APPLICATIONS
20230350655 · 2023-11-02 ·

Deterministic memory allocation for real-time applications. In an embodiment, bitcode is scanned to detect calls by a memory allocation function to a dummy function. Each call uses parameters comprising an identifier of a memory pool and a size of a data type to be stored in the memory pool. For each detected call, an allocation record, comprising the parameters, is generated. Then, a header file is generated based on the allocation records. The header file may comprise a definition of bucket(s) and a definition of memory pools. Each definition of a memory pool may identify at least one bucket.

METHODS AND APPARATUS FOR PROFILE-GUIDED OPTIMIZATION OF INTEGRATED CIRCUITS
20230342531 · 2023-10-26 ·

Methods and apparatus for performing profile-guided optimization of integrated circuit hardware are provided. Circuit design tools may receive a source code and compile the source code to generate a hardware description. The hardware description may include profiling blocks configured to measure useful information required for optimization. The hardware description may then be simulated to gather profiling data. The circuit design tools may then analyze the gathered profiling data to identify additional opportunities for hardware optimization. The source code may then be modified based on the analysis of the profiling data to produce a smaller and faster hardware that is better suited to the application.

Extensible compilation using composite programming for hardware

Systems, methods, and machine-readable media are disclosed for enabling high-performance programming via a composite programming language that gives programmers complete control over the compilation process. The composite programs include two language levels: an object program level (source code), and a metaprogram level that describes how a compiler should be customized in order to optimize the source code for a target hardware environment. When an augmented compiler receives a composite program, it recognizes the metaprogram and implements the one or more parameters specified within the composite program to optimize the compiler for a given target. Once the augmented compiler has been, it proceeds with compiling the source code included in the composite program. The compiled code is then output as machine language and may be executed by one or more computing systems.

Method and system for optimizing access to constant memory

The disclosed systems, structures, and methods are directed to optimizing memory access to constants in heterogeneous parallel computers, including systems that support OpenCL. This is achieved in an optimizing compiler that transforms program scope constants and constants at the outermost scope of kernels into implicit constant pointer arguments. The optimizing compiler also attempts to determine access patterns for constants at compile-time and places the constants in a variety of memory types available in a compute device architecture based on these access patterns.

Framework For User-Directed Profile-Driven Optimizations
20220206769 · 2022-06-30 ·

A method for using profiling to obtain application-specific, preferred parameter values for an application is disclosed. First, a parameter for which to obtain an application-specific value is identified. Code is then augmented for application-specific profiling of the parameter. The parameter is profiled and profile data is collected. The profile data is then analyzed to determine the application's preferred parameter value for the profile parameter.

Method of Using Multidimensional Blockification To Optimize Computer Program and Device Thereof

Disclosed embodiments relate to a method and device for optimizing compilation of source code. The proposed method receives a first intermediate representation code of a source code and analyses each basic block instruction of the plurality of basic block instructions contained in the first intermediate representation code for blockification. In order to blockify the identical instructions, the one or more groups of basic block instructions are assessed for eligibility of blockification. Upon determining as eligible, the group of basic block instructions are blockified using one of one dimensional SIMD vectorization and two-dimensional SIMD vectorization. The method further generates a second intermediate representation of the source code which is translated to executable target code with more efficient processing capacity.

Custom term unification for analytical usage

A system includes reception of a definition of a first attribute to associate with a logical object of the first application, reception of a definition of a second attribute to associate with a second logical object of the first application, determination, based on the definition of the first attribute and the definition of the second attribute, that the first attribute and the second attribute are associated with a same semantic, based on the determination, generation of e a first identifier associated with the first attribute and the second attribute and storing the first identifier associated with the first attribute and the second attribute in a first data schema associated with the first application, and storage of the first identifier associated with the first attribute and the second attribute in an analytics schema associated with an analytics application.

Delegating bytecode runtime compilation to serverless environment
11392357 · 2022-07-19 · ·

A host delegates Just-In-Time (JIT) bytecode compilation to a serverless Web Assembly (WASM) runtime. The WASM runtime receives the bytecode, together with any additional arguments (e.g.: offsets of dependent functions, vtable metadata, virtual machine state). The host may include a parser to provide the additional arguments. In response to receiving the bytecode and arguments, the WASM runtime triggers a thread and loads appropriate WASM modules to compile the bytecode. The resulting assembly instructions are sent back to the host for execution in connection with the (frequently requested) method. Only the bytecode of frequently-accessed methods (as determined at the host) may be delegated for compilation. Delegation of bytecodes for compilation according to embodiments, may conserve a significant percentage of CPU cycles at the host, which can then be used for executing code instead. Based upon analysis of historical compilation activities, particular embodiments may pro-actively implement speculative loading of additional WASM modules.

Identifying code dependencies in web applications

A method may include receiving, from a browser, a request for a tracking pixel including a uniform resource locator (URL) of the tracking pixel and a session identifier (ID) of the browser. The URL of the tracking pixel may be included in a CSS selector. The method may further include sending, to the browser and as triggered by the request for the tracking pixel, a request to scan a document object model (DOM) of the browser. The request to scan the DOM may include the session ID. The method may further include receiving, from the browser, scan results including a set of dependencies on the CSS selector.