DYNAMIC DIAGNOSTIC CODE INSTRUMENTATION OVER A HISTORIC PROGRAM EXECUTION

    公开(公告)号:US20200242007A1

    公开(公告)日:2020-07-30

    申请号:US16258291

    申请日:2019-01-25

    Abstract: Dynamically instrumenting code that executes based on a historic execution of a subject executable entity. Historic execution information for a subject executable entity is accessed. The historic execution information includes execution state information for at least one point in time in the historic execution the executable entity. Diagnostic code instruction(s) are identified, for instrumenting subject code instruction(s) of the executable entity. The subject code instruction(s) are virtually executed based at least on supplying the subject code instruction(s) with data from the historic execution information. While virtually executing the identified executable code instruction(s), the diagnostic code instruction(s) are also executed. The diagnostic code instruction(s) collecting diagnostic data regarding the virtual execution of the subject code instruction(s), or override at least one of a value or an execution behavior of the subject code instruction(s).

    MEMORY VALIDITY STATES IN TIME-TRAVEL DEBUGGING

    公开(公告)号:US20190324892A1

    公开(公告)日:2019-10-24

    申请号:US15960066

    申请日:2018-04-23

    Abstract: Presenting historical state associated with prior execution of an entity. Based on replaying segment(s) of execution of an entity based on a trace, embodiments could present an indication of whether a value of a code element is, at a first execution time point, unknown, known, previously known, and/or known in the future. Additionally, or alternatively, embodiments could present an indication of a value relied upon by simulated execution of a function at a second execution time point, along with an indication of a timing of knowledge of the value in relation to the second execution time point. Additionally, or alternatively, embodiments could present an indication that a return value of a function would be known if the function had executed at a third execution time point, or an indication that the return value would be unknown if the function had executed at the third execution time point.

    INSTRUMENTATION-BASED DETECTION OF ACCIDENTAL ALGORITHMIC COMPLEXITY OF A PROCEDURE

    公开(公告)号:US20250013445A1

    公开(公告)日:2025-01-09

    申请号:US18889345

    申请日:2024-09-18

    Abstract: Techniques are described herein that are capable of detecting accidental algorithmic complexity of a procedure by using instrumentation. A number of times a parent procedure calls a child procedure during each of multiple executions of the parent procedure is detected by using instrumentation to provide call counts for the respective executions. A value of an attribute of the parent procedure during each of the executions is detected by using the instrumentation to provide attribute values for the respective executions. A function is generated that defines a curve that estimates a relationship between the attribute values for the respective executions and the call counts for the respective executions. Based at least on a slope of the curve, accidental algorithmic complexity of the parent procedure is determined. Based at least on the accidental algorithmic complexity satisfying a complexity criterion, a remedial action is performed with regard to the accidental algorithmic complexity.

    PROFILING A PROGRAM BASED ON A COMBINATION OF DYNAMIC INSTRUMENTATION AND SAMPLING

    公开(公告)号:US20230325299A1

    公开(公告)日:2023-10-12

    申请号:US17718129

    申请日:2022-04-11

    CPC classification number: G06F11/3612 G06F8/41

    Abstract: A computer system is configured to profile a program during an execution of the program. Profiling the program includes obtaining, by a first profiler, a first set of information associated with the execution of the program, and obtaining a second set of information associated with one or more executions of the function. The second set of information includes at least a call count or an execution time of each of the one or more executions of the function. The computer system then identifies a subset of the first set of information that is associated with the one or more executions of the function, and creates aggregate information based on the subset of the first set of information and the second set of information. The aggregated information is then reported.

    REVERSIBLE DEBUGGING IN A RUNTIME ENVIRONMENT

    公开(公告)号:US20200310946A1

    公开(公告)日:2020-10-01

    申请号:US16372210

    申请日:2019-04-01

    Abstract: Performing reverse execution debugging of an application. The method includes identifying a snapshot of application state for an application in an application framework. The method further includes emulating execution of the application, using bytecode, in a forward direction from the snapshot to an end point, causing generation of historical execution state at various points along the emulation of the application. The method further includes collecting the historical execution state. The method further includes using the collected historical execution state, emulating reverse execution of the application by substituting collected historical execution state, when needed, to restore previous state needed as a result of emulation of reverse execution of the application.

    INSTRUMENTATION-BASED DETECTION OF ACCIDENTAL ALGORITHMIC COMPLEXITY OF A PROCEDURE

    公开(公告)号:US20240231782A1

    公开(公告)日:2024-07-11

    申请号:US18095523

    申请日:2023-01-10

    CPC classification number: G06F8/4441

    Abstract: Techniques are described herein that are capable of detecting accidental algorithmic complexity of a procedure by using instrumentation. A number of times a parent procedure calls a child procedure during each of multiple executions of the parent procedure is detected by using instrumentation to provide call counts for the respective executions. A value of an attribute of the parent procedure during each of the executions is detected by using the instrumentation to provide attribute values for the respective executions. A function is generated that defines a curve that estimates a relationship between the attribute values for the respective executions and the call counts for the respective executions. Based at least on a slope of the curve, accidental algorithmic complexity of the parent procedure is determined. Based at least on the accidental algorithmic complexity satisfying a complexity criterion, a remedial action is performed with regard to the accidental algorithmic complexity.

Patent Agency Ranking