Patent classifications
G06F11/3644
Processing data streams received from instrumented software in real time using incremental-decremental implementation of the KPSS stationarity statistic
An analysis system receives a time series. The data values of the time series correspond to a metric describing a characteristic of the computing system that changes over time. The analysis system stores a statistic value that represents the stationarity of the time series. In response to receiving a most recent value, the analysis system assigns the most recent value as the leading value in a window before retrieving the trailing value of the window. The analysis system updates the statistic value to add an influence of the most recent value and remove an influence of the trailing value. If the statistic value is less than a threshold, the analysis system determines that the time series is stationary. In response to determining the time series is stationary, the analysis system assigns an alert to the metric. The analysis system detects an anomaly in the metric based on the assigned alert.
Automatically validating data incorporated into a computer program
Embodiments disclosed herein relate to methods, systems, and computer programs for verifying that data incorporated into a computer program is current. The methods, systems, and computer programs compare a source identifier status code associated with the data to a current source identifier status code at the location where the data was obtained. The methods, systems, and computer programs include at least one validation function which determines the validity of the data according to selected parameters. If the source identifier status code and current source identifier status code match and the at least one validation function determines the data is valid, an executable computer program incorporating the data and one or more functions is produced as output.
AUTOMATIC SPAN CONTEXT PROPAGATION TO WORKER THREADS IN RICH-CLIENT APPLICATIONS
Disclosed techniques relate to tracing a subsidiary thread of a web page application. In an example, a method includes providing a web page application to a web browser. The method further includes creating, from the web page application, a global tracer configured to log tracing data for the web page application and a span. The method further includes instantiating, from the web page application, a wrapper for a subsidiary thread. The wrapper is configured to execute shim code before executing the subsidiary thread. The method further includes passing, from the wrapper to the shim code, configuration data of the global tracer. The method further includes creating a subsidiary tracer from the shim code and the configuration data. The subsidiary tracer configured to log tracing data for the subsidiary thread and a thread span.
COVERAGE-GUIDED FUZZING VIA DYNAMIC INSTRUMENTATION
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.
REAL-TIME PERFORMANCE TRACKING USING DYNAMIC COMPILATION
Systems, apparatuses, and methods for performing real-time tracking of performance targets using dynamic compilation. A performance target is specified in a service level agreement. A dynamic compiler analyzes a software application executing in real-time and determine which high-level application metrics to track. The dynamic compiler then inserts instructions into the code to increment counters associated with the metrics. A power optimization unit then utilizes the counters to determine if the system is currently meeting the performance target. If the system is exceeding the performance target, then the power optimization unit reduces the power consumption of the system while still meeting the performance target.
HYPERVISOR BACKDOOR INTERFACE
A method of providing a backdoor interface between software executing in a virtual machine and a hypervisor executing on a computing system that supports the virtual machine includes trapping, at the hypervisor, an exception generated in response to execution of a debug instruction on a central processing unit (CPU) by the software; identifying, by an exception handler of the hypervisor handling the exception, an equivalence between an immediate operand of the debug instruction and a predefined value; and invoking, in response to the equivalence, a backdoor service of the hypervisor using state of at least one register of the CPU as parametric input, the state being set by the software prior to executing the debug instruction.
THREE-MODE STORAGE METHOD FOR PROGRAM BLOCKS BASED ON CHECK
The present application provides a three-mode storage method for program blocks based on check, comprising: first dividing the program to be injected into N blocks and checking each block to obtain the first checksum; then injecting the program to be injected and the first checksum twice in the program storage area, and the two injected programs are noted as the main program and the backup program, respectively; dividing the main program into N blocks, and checking each program block to obtain the second checksum during program run; dividing the backup program into N blocks and checking each block to obtain the third checksum; and comparing the checksum, second checksum and third checksum: if the three are consistent, performing no operation; updating the program or checksum and checking again, if the three are inconsistent.
API registry in a container platform providing property-based API functionality
A method of customizing deployment and operation of services in container environments may include receiving, at an API registry, a property for a service that is or will be encapsulated in a container that is or will be deployed in a container environment. The method may also include determining whether the property for the service affects the deployment of the service to the container environment, and in response to a determination that the property affects the deployment of the service, deploying the service based at least in part on the property. The method may additionally include determining whether the property for the service affects the generation of a client library that calls the service in the container environment, and in response to a determination that the property affects the generation of the client library, generating the client library based at least in part on the property.
Out-of-the-box telemetry for rich-client application runtime frameworks
Disclosed systems relate to automatically instrumenting a web application for tracing. In an example, a method includes providing a web page application to a web browser on a client device. The web page application includes a tracer application. The method further includes detecting a start of the web page application and instantiating tracer application. The tracer application is configured to log tracing data for the web page application. The method further includes detecting an event initiated by interaction with the web page application. The method further includes automatically logging a start of a span based on the detection, the logging associating the span with the tracer application. The method further includes executing operations corresponding to the event. The method further includes automatically logging an end of the span based upon a completion of the operations corresponding to the event.
Method and system for generating a memory trace of a program code executable on a programmable target
A method of generating an instrumented code from a program code executable on a programmable target is described. The method comprises analyzing the program code to detect a loop nest with regular memory access in the program code, providing a record of static memory address information associated with the loop nest, and instrumenting the program code to provide an instrumented code corresponding to the program code supplemented with an instrumentation instruction to output an information message comprising a dynamic memory address information field formatted to store a dynamic memory address information associated with the loop nest.