G06F11/362

METHOD FOR DEBUGGING PROGRAM OF MANYCORE PARALLEL PROCESSOR BASED ON CODE EXECUTION AND APPARATUS USING THE SAME

Disclosed herein are a method for debugging a program of many core parallel processors based on code execution and an apparatus for the same. The method, performed by debugger software running on a host processor, includes generating a program execution binary including debug execution code and providing the same to multiple parallel processors, acquiring context data corresponding to the state of a target processor immediately before the debug execution code is executed in the target processor, among the multiple parallel processors, and analyzing the context data and thereby performing debugging of a program executed in the processor in which the debug execution code is executed.

Pathname independent probing of binaries
11599342 · 2023-03-07 · ·

A system includes one or more processors in communication with a memory and configured to receive a task to probe a portion of the memory associated with a version of a binary file during execution of the binary file. The task includes a portion of object code and a hash identifier, both associated with the version of the binary file. A database mapping hash identifiers to debug information associated with installed binary files is accessed. Debug information for the version of the binary file associated with the hash identifier is retrieved. A probing application is built using the debug information and the portion of object code. Upon execution of the version of the binary file, the probing application places the object code into the portion of the memory.

AUTOMATED C-STRUCTURE INTROSPECTION AND DISCOVERY
20230069638 · 2023-03-02 ·

Methods, apparatuses, and computer program products are described. A system may run a set of Automated Structure processing (ASP) scripts on a program binary executable written in C-language without making changes to source-code. The system may generate a set of dictionary files indicating data structural information specifically for the C-language program based on running the set of ASP scripts on the program binary executable. The dictionary files may include a list of C-structures referenced and type definitions and structure layouts associated with the C-structures. The system may combine the data structural information with an ASP library to generate an extended ASP library, and may augment the program binary executable with the extended ASP library to generate an augmented program binary executable. The system may programmatically perform an introspection and data discovery procedure on a C-language program at run-time using the augmented program binary executable.

System, method, and computer program product for operating dynamic shadow testing environments

Described are a system, method, and computer program product for operating dynamic shadow testing environments for machine-learning models. The method includes storing a testing policy including an identifier of a machine-learning model and an identifier of a transaction service. The method includes generating a shadow testing environment operating the transaction service using the machine-learning model. The method also includes receiving, at a transaction service provider system, a transaction authorization request including transaction data of a transaction associated with a payment device. The method further includes identifying the machine-learning model associated with the transaction based on a parameter of the transaction data. The method further includes determining, based on the identifier of the machine-learning model, the testing policy and the shadow testing environment. The method further includes replicating the transaction data in the shadow testing environment as input for testing the transaction service using the machine-learning model.

TEMPLATE FRAMEWORK WITH AUTOMATED TESTS AND PREVIEWS

A system may be configured to: obtain, from a first product development entity, a first set of content; obtain, from a second product development entity different from the first product development entity, a second set of content different from the first set of content; generate a user interface (UI) template configured to be first-applied to the first set of content and second-applied to the second set of content; automatically test, via the first-applied template, functionality associated with the first set of content; determine that the functionality satisfies a criterion of the test; and cause presentation of a first preview of the successfully tested content.

System and method for developing, testing and debugging software for microcontrollers
11630757 · 2023-04-18 · ·

Various implementations of the invention develop executable code for an embedded system, including a microcontroller and a device. Some implementations of the invention comprise a microcontroller development tool configured to operate on a general purpose computer. In some implementations, the development tool comprises: 1) a virtual microcontroller configured to operate within the development tool in a manner substantially identical to an operation of the microcontroller of the embedded system, wherein the virtual microcontroller operates within the development tool using op codes native to that of the microcontroller, the virtual microcontroller further configured to receive inputs from and provide outputs to the device of the embedded system, 2) an expanded memory beyond a memory available to the microcontroller, the expanded memory available to the virtual microcontroller and configured to store op codes or data for the virtual microcontroller to assist with development of executable code, and 3) a microcontroller programmer configured to transfer executable code to a memory of the microcontroller, wherein the executable code is developed within the development tool; and a microcontroller coupler configured to couple the development tool to the embedded system.

AUTOMATED PROGRAM REPAIR TOOL

An automated program repair tool utilizes a neural transformer model with attention to predict the contents of a bug repair in the context of source code having a bug of an identified bug type. The neural transformer model is trained on a large unsupervised corpus of source code using a span-masking denoising optimization objective, and fine-tuned on a large supervised dataset of triplets containing a bug-type annotation, software bug, and repair. The bug-type annotation is derived from an interprocedural static code analyzer. A bug type edit centroid is computed for each bug type and used in the inference decoding phase to generate the bug repair.

Activation functions for artificial intelligence operations
11626148 · 2023-04-11 · ·

The present disclosure includes apparatuses and methods related to defining activation functions for artificial intelligence (AI) operations. An example apparatus can include a number of memory arrays and a controller, wherein the controller includes a number of activations function registers, wherein the number of activation function registers define activation functions for artificial intelligence (AI) operations performed by the apparatus.

COVERAGE-GUIDED FUZZING VIA DYNAMIC INSTRUMENTATION
20230146443 · 2023-05-11 ·

A method for obtaining coverage-guided fuzzing of software on a hardware target. The hardware target includes a breakpoint register, and is designed to stop an execution of the software prior to execution of an instruction of the software if the instruction is reached during the execution of the software; a memory address of the instruction is set in the breakpoint register. The method includes setting a first breakpoint prior to a first instruction of the software; executing or continuing a fuzzing iteration of the software; first checking whether the first breakpoint is reached while executing or continuing the fuzzing iteration; storing a piece of log information that includes that the first instruction in the fuzzing iteration has been reached, and optionally deleting the first breakpoint if the first check is positive. The coverage-guided fuzzing of the software includes the piece of log information.

Verifying integrity of controller software updates
11651128 · 2023-05-16 · ·

Disclosed herein are techniques for analyzing software delta changes based on functional line-of-code behavior and relation models. Techniques include identifying a prompt to change a first version of code on a controller to a second version of code; constructing, based on the identified prompt, a line-of-code behavior and relation model representing execution of functions of the controller based on the second version of code; performing a signature operation on the generated line-of-code behavior and relation model to produce a signature value; and sending the signature value to the controller; wherein the controller is configured to compare the signature value to a computed signature value that the controller is configured to compute based on the second version of code and determine, based on the comparison, whether to validate the second version of code.