Protecting sensitive information in time travel trace debugging

    公开(公告)号:US10481998B2

    公开(公告)日:2019-11-19

    申请号:US15921883

    申请日:2018-03-15

    Abstract: Protecting sensitive information in connection with tracing an original execution of an entity. Embodiments include identifying that original information—which was accessed based on an original execution of one or more original executable instructions of the entity—comprises sensitive information. Based on the original information comprising the sensitive information, embodiments include performing one or both of (i) storing first trace data comprising alternative information—rather than the original information—into the trace, while ensuring that an execution path that was taken by the entity based on the original information is also taken during replay of the original execution of the entity using the trace; or (ii) storing second trace data into the trace that causes zero or more alternative executable instructions—rather than the one or more original executable instructions of the entity—to be executed during the replay of the original execution of the entity.

    Dynamic diagnostic code instrumentation over a historic program execution

    公开(公告)号:US10956304B2

    公开(公告)日:2021-03-23

    申请号: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

    公开(公告)号:US10592396B2

    公开(公告)日:2020-03-17

    申请号: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.

    Reversible debugging in a runtime environment

    公开(公告)号:US11113182B2

    公开(公告)日:2021-09-07

    申请号: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.

Patent Agency Ranking