-
公开(公告)号:US11755458B2
公开(公告)日:2023-09-12
申请号:US17154853
申请日:2021-01-21
Applicant: Microsoft Technology Licensing, LLC
Inventor: Leslie Yvette Richardson , Jackson Michael Davis , Del Myers , Thomas Lai , Andrew R. Sterland , Jordi Mola , James M. Pinkerton
IPC: G06F11/00 , G06F11/34 , G06F11/36 , G06F9/54 , G06F11/07 , G06F11/30 , G06F11/32 , G06F8/35 , G06F9/455
CPC classification number: G06F11/364 , G06F11/3612 , G06F8/35 , G06F9/45516 , G06F9/542 , G06F11/0706 , G06F11/0778 , G06F11/3006 , G06F11/323 , G06F11/3409 , G06F11/3466 , G06F11/3476 , G06F11/3495 , G06F11/362 , G06F11/3636 , G06F11/3644
Abstract: Automatic identification of execution behavior(s) of software. This automatic identification is based on analysis of historical execution records using machine learning to identify a particular pattern that corresponds to an execution behavior. In order to automatically identify an execution behavior present within particular software, an execution record of that particular software is accessed. The execution record includes an execution trace that reproducibly represents the execution of the software within a particular execution environment, such that the execution record is usable to rerun the execution of the software precisely as the software previously run. Based on finding the particular pattern within the execution record, the computing system automatically identifies that the execution behavior is present within the software.
-
公开(公告)号:US11138093B2
公开(公告)日:2021-10-05
申请号:US16398672
申请日:2019-04-30
Applicant: Microsoft Technology Licensing, LLC
Inventor: Del Myers , Jackson Michael Davis , Thomas Lai , Andrew R Sterland , Deborah Chen , Patrick Lothian Nelson , Jordi Mola , Juan Carlos Arevalo Baeza , James M Pinkerton , Leslie Yvette Richardson , Kenneth Walter Sykes
Abstract: Identifying and reporting potential data inconsistencies and/or potential data contentions based on historic debugging traces. Based on replay of a thread, some implementations observe an influx of a value to a memory cell, and determine whether the value of the memory cell observed from the influx is inconsistent with a prior value of the memory cell as known by the thread. If so, these implementations can initiate an indication of a data inconsistency. Based on replay of a plurality of threads, other implementations identify a memory cell that was accessed by a first thread while a thread synchronization mechanism was active on the first thread. Then, if there was another access to the memory cell by a second thread without use of the thread synchronization mechanism, these implementations might initiate an indication of a potential data contention.
-
公开(公告)号:US11132280B2
公开(公告)日:2021-09-28
申请号:US16271182
申请日:2019-02-08
Applicant: Microsoft Technology Licensing, LLC
Inventor: Jackson Michael Davis , Del Myers , Patrick Lothian Nelson , Andrew R. Sterland , Leslie Yvette Richardson , Jordi Mola , James M. Pinkerton , Mark Marron
IPC: G06F11/36
Abstract: This disclosure relates to identifying and presenting differences between a plurality of recorded executions of an executable entity. One or more models are created over the plurality of recorded prior executions of at least a portion of an executable entity. These models include at least one of (i) a control flow model, or (ii) a data model. An anomalous model data point is identified within these models, and a first location in at least one of the plurality of recorded executions that corresponds to the anomalous model data point is identified. A second location in the at least one of the plurality of recorded executions is also identified. This second location is causal to the anomalous model data point at the first location. The identity of the first and/or second locations in the least one of the plurality of recorded executions is presented.
-
公开(公告)号:US10922210B2
公开(公告)日:2021-02-16
申请号:US16284913
申请日:2019-02-25
Applicant: Microsoft Technology Licensing, LLC
Inventor: Leslie Yvette Richardson , Jackson Michael Davis , Del Myers , Thomas Lai , Andrew R. Sterland , Jordi Mola , James M. Pinkerton
Abstract: The automatic identification of execution behavior(s) of software. This automatic identification is based on a historical analysis of execution records to identify a particular pattern that represents an execution behavior. In order to automatically identify an execution behavior present within particular software, an execution record (or perhaps multiple execution records) representing the execution of that particular software may be accessed. Based on finding the particular pattern within the execution record (or one, some, or all of the multiple execution records) representing the execution of that particular software, the computing system may automatically identify that the execution behavior is present within the software. This may dramatically assist in modifying that execution behavior.
-
公开(公告)号:US10481998B2
公开(公告)日:2019-11-19
申请号:US15921883
申请日:2018-03-15
Applicant: Microsoft Technology Licensing, LLC
Inventor: Jordi Mola , Henry Gabryjelski , Jackson Michael Davis
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.
-
公开(公告)号:US10956304B2
公开(公告)日:2021-03-23
申请号:US16258291
申请日:2019-01-25
Applicant: Microsoft Technology Licensing, LLC
Inventor: Jackson Michael Davis , Patrick Lothian Nelson , Andrew R. Sterland , Jordi Mola , Del Myers , Leslie Yvette Richardson , Thomas Lai
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).
-
公开(公告)号:US10592396B2
公开(公告)日:2020-03-17
申请号:US15960066
申请日:2018-04-23
Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
Inventor: Henry Gabryjelski , Jackson Michael Davis , Patrick Lothian Nelson , Del Myers , Thomas Lai , Jordi Mola
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.
-
公开(公告)号:US11604720B2
公开(公告)日:2023-03-14
申请号:US17473707
申请日:2021-09-13
Applicant: Microsoft Technology Licensing, LLC
Inventor: Del Myers , Jackson Michael Davis , Thomas Lai , Andrew R. Sterland , Deborah Chen , Patrick Lothian Nelson , Jordi Mola , Juan Carlos Arevalo Baeza , James M. Pinkerton , Leslie Yvette Richardson , Kenneth Walter Sykes
Abstract: Based on replay of a thread, one implementation observes an influx of a value of a memory cell comprising an interaction between the thread and the value of the memory cell at an execution time point in the replaying, and determines whether the value of the memory cell observed from the influx is inconsistent with a prior value of the memory cell as known by the thread at the execution time point. If so, this implementation initiates an indication of a data inconsistency. Based on replay of a plurality of threads, another implementation identifies a memory cell that was accessed by a first thread while a thread synchronization mechanism was active on the first thread. Then, if there was another access to the memory cell by a second thread without use of the thread synchronization mechanism, this implementation initiates an indication of a potential data contention.
-
公开(公告)号:US11113182B2
公开(公告)日:2021-09-07
申请号:US16372210
申请日:2019-04-01
Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
Inventor: Patrick Lothian Nelson , Jackson Michael Davis , Del Myers , Thomas Lai
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.
-
公开(公告)号:US11074153B2
公开(公告)日:2021-07-27
申请号:US16372204
申请日:2019-04-01
Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
Inventor: Patrick Lothian Nelson , Jackson Michael Davis , Del Myers , Thomas Lai
Abstract: Collecting runtime virtual machine external state for an application running in an application runtime virtual machine, for use in emulation of the application. A method includes identifying application bytecode for which runtime virtual machine external state is to be collected. The method further includes executing machine code generated from the bytecode to generate the runtime virtual machine external state. The method further includes collecting the runtime virtual machine external state. The method further includes storing the runtime virtual machine external state for use in emulating the application.
-
-
-
-
-
-
-
-
-