US 11,782,819 B2
Program execution monitoring using deep memory tracing
Nir Levy, Tel Aviv (IL); Lee Stott, Manchester (GB); and Ran Gilad-Bachrach, Hogla (IL)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jul. 31, 2020, as Appl. No. 16/945,149.
Claims priority of provisional application 63/052,007, filed on Jul. 15, 2020.
Prior Publication US 2022/0019513 A1, Jan. 20, 2022
Int. Cl. G06F 11/36 (2006.01)
CPC G06F 11/364 (2013.01) 20 Claims
OG exemplary drawing
 
1. A computer system, comprising:
at least one processor; and
memory storing instructions executable by the at least one processor, wherein the instructions, when executed, cause the computer system to:
display a reference software implementation for user annotation;
detect a user input annotating a portion of the reference software implementation as a variable value to be monitored;
execute the reference software implementation;
obtain an expected variable value based on tracing the variable value to be monitored in a running memory used by the reference software implementation during execution of the reference software implementation;
trace a running memory, used by a software implementation under analysis, during execution of the software implementation under analysis;
generate a comparison result indicative of whether the expected variable value appears in a copy of the running memory used by the software implementation under analysis; and
generate a verification output indicative of whether the software implementation under analysis corresponds to the reference software implementation, based on the comparison result, the verification output including a message indicative of whether the expected variable value appears in the running memory used by the software implementation under analysis.