G06F11/366

Processor core debugging with processor virtualization

A device, such as a system on a chip (SoC), includes a plurality of processor cores, a broadcaster module, a plurality of decoder units, and an aggregator module. The broadcaster module broadcasts a debug request from a debugger device to one or more of the plurality of processor cores via a bus, the debug request including an address specifying a logical identifier associated with a target processor core of the plurality of processor cores. The decoder units, associated with the processor cores, forward the debug request to a debug module of the respective processor core in response to detecting a match. If no match is detected, the decoder units forward the debug request to a subsequent processor core via the bus. The aggregator module forward a response message to the debugger device, the response message originating from the target processor core.

Systems and methods for providing predictive quality analysis
11494180 · 2022-11-08 · ·

The disclosed embodiments include methods and systems for providing predictive quality analysis. Consistent with disclosed embodiments, a system may receive input data associated with a software program and compare the input data with one or more predetermined analysis parameters. The system may further determine at least one risk rating based on the comparison, wherein each risk rating corresponds to a distinct software category. The system may perform additional operations, including determining at least one adjustment to the software program based on the determined at least one risk rating, and prioritizing the at least one adjustment based on a predetermined adjustment priority standard. Furthermore, the system may provide a report including at least an indication of the at least one prioritized adjustment, a timeline for implementing the at least one prioritized adjustment, and plan implementing the at least one prioritized adjustment.

Debugging method for USB device and USB device

A debugging method for a Universal Serial Bus (USB) device includes: receiving input information of a terminal through a Human Interface Device (HID) device; when report ID of the input information is a serial port ID, transmitting the input information to a buffer of a virtual serial port Teletype (TTY) device; and extracting the input information of the terminal from the buffer of the virtual serial port TTY device, executing a shell command on the input information, and returning execution result to the terminal through an original path. The method uses a USB interface to implement a HID device, thereby realizing drive-free execution. In addition, use of the endpoint of the HID device can save endpoints needed for additional debugging and driving.

Automatic correlation of dynamic system events within computing devices

Systems and methods are described herein for logging system events within an electronic machine using an event log structured as a collection of tree-like cause and effect graphs. An event to be logged may be received. A new event node may be created within the event log for the received event. One or more existing event nodes within the event log may be identified as having possibly caused the received event. One or more causal links may be created within the event log between the new event node and the one or more identified existing event nodes. The new event node may be stored as an unattached root node in response to not identifying an existing event node that may have caused the received event.

Security processor configured to authenticate user and authorize user for user data and computing system including the same

A security processor includes a key generator circuit configured to randomly generate a key, an encryption circuit configured to encrypt user data based on the key, and a security manager circuit configured to receive a first user identification (ID), which uniquely corresponds to a user of a device, and determine whether to allow access to the user data by authenticating the first user ID.

Trace anomaly grouping and visualization technique

A trace anomaly grouping and visualization technique logically groups traces with anomalies to cases to enable software developers to monitor, diagnose and visualize the anomalies, as well as to solve the anomalies during application development and production. A client library of an investigative platform collects signals from traces (trace signal information). The technique organizes (groups) related trace signals of methods with anomalies (e.g., exceptions, performance abnormalities such as slowness) into datasets (denominated as “cases”) based on common cause for an anomaly and correlates the signals to identify a case. The collected information may be used to differentiate between root causes of the anomalies using a comparative visualization of traces displayed on a standard user interface of the investigative platform. As such, the technique facilitates an understanding of differences among traces of executable code that resulted in the failure and traces without failure by providing the ability to comparatively examine views of those traces displayed on the standard UI. Signals of two or more traces may be selected and displayed side-by-side for comparison. The traces may be selected from a general notion of a healthy trace and a failed trace.

METHODS AND SYSTEMS FOR CLASSIFYING APPLICATION-SPECIFIC CRASH REPORTS USING APPLICATION-AGNOSTIC MACHINE LEARNING MODELS
20230033084 · 2023-02-02 ·

Certain aspects of the present disclosure provide techniques for handling crash events in a software application using application-agnostic machine learning models. An example method generally includes receiving a data set of crash reports from a software application for analysis. Using a first neural network, a representation of each respective crash report in the data set is generated. The data set of crash reports and a mapping between functions in the software application and a multidimensional space are input into the first neural network. Each respective crash report in the data set is classified using a second neural network and the representation of each crash report in the data set. One or more actions are taken with respect to the software application based on the classifying each respective crash report in the data set.

Persistent crash logging

Techniques for persistent crash logging. The techniques may include making, by a monitor, a first determination that an event information file exists in a volatile storage device location in a volatile storage device. The first determination may be made after an agent event occurs. The techniques may also include performing, by the monitor, an action on a portion of the event information file to obtain a uniquely identifiable filename portion and writing, by the monitor, an event information file copy to a non-volatile storage location in a non-volatile storage device. The techniques may also include, after writing the event information file copy to the non-volatile storage location is complete, renaming, by the monitor, the event information file copy to a uniquely identifiable filename comprising the uniquely identifiable filename portion.

MEMORY LEAK DETECTION USING REAL-TIME MEMORY GROWTH PATTERN ANALYSIS
20230086373 · 2023-03-23 ·

The disclosure describes techniques that enable detection of memory leaks of software executing on devices within a computer network. An example network device includes memory and processing circuitry. The processing circuitry monitors a usage of the memory by a software component operating within the network device. The processing circuitry periodically determines a memory growth pattern score for the software component based on the usage of the memory. The processing circuitry also predicts whether the user-level process is experiencing a memory leak based on the memory growth pattern score. The processing circuitry applies confirmation criteria to current memory usage of the software component to confirm that the software component is experiencing the memory leak. When the software component is experiencing the memory leak, the processing circuitry generates an alert.

CRASH LOCALIZATION USING CRASH FRAME SEQUENCE LABELLING

Machine-learned prediction of a blame frame of a crash stack. Specifically, a crash stack associated with a crash is parsed into a sequence of frames. The blame frame of the crash stack is estimated by, for each of a plurality of the sequence of frames, identifying a plurality of features of the corresponding frame, feeding the plurality of features to a neural network, and using the output of the neural network to make a prediction on whether the corresponding frame is a blame frame of the crash. If this is done during training time, the predicted blame frame can be compared against the actual blame frame, resulting in an adjustment of the neural network. Through appropriate featurization of the frames, and by use of the neural network, the prediction can be made cross-application and considering the context of the frame within the crash stack.