一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

利用跟踪代码的记录执行来仿真非跟踪代码的制作方法

2021-11-10 03:00:00 来源:中国专利 TAG:

技术特征:
1.一种用于利用在第一可执行代码的执行期间收集的跟踪数据来仿真第二可执行代码的执行的方法,所述方法在包括一个或多个处理器和存储器的计算机系统中被实现,所述方法包括:访问第一可执行代码的先前执行的可重放记录执行,所述可重放记录执行包括一个或多个输入,所述一个或多个输入在所述第一可执行代码的所述先前执行期间由一个或多个第一可执行指令消耗;访问与所述第一可执行代码不同的第二可执行代码,第二可执行代码的执行未被记录在所述可重放记录执行中;使用来自所述可重放记录执行的所述一个或多个输入来仿真所述第二可执行代码的执行;以及报告所述第二可执行代码的仿真执行与所述第一可执行代码的所述先前执行之间的一个或多个差异,或者报告所述第二可执行代码的所述仿真执行与所述第一可执行代码的所述先前执行之间的等效性。2.根据权利要求1所述的方法,其中使用来自所述可重放记录执行的所述一个或多个输入来仿真所述第二可执行代码的执行包括:在所述一个或多个第二可执行指令的执行的仿真期间,使用所述一个或多个输入作为对所述第二可执行代码的一个或多个第二可执行指令的输入。3.根据权利要求1所述的方法,其中使用来自所述可重放记录执行的所述一个或多个输入来仿真所述第二可执行代码的执行包括:标识所述第一可执行代码中的第一可执行指令的第一块,所述第一块与所述第二可执行代码中的第二可执行指令的第二块具有相同的输入集和相同的输出集;以及使用在所述第一可执行代码的所述先前执行期间被提供给第一可执行指令的所述第一块的特定输入,来仿真可执行指令的所述第二块的执行。4.根据权利要求3所述的方法,还包括:将在使用所述特定输入时由可执行指令的所述第一块产生的第一输出与在使用所述特定输入时由可执行指令的所述第二块的所述仿真执行产生的第二输出进行比较,以标识以下各项中的一项:(i)可执行指令的所述第二块的所述仿真执行与可执行指令的所述第一块的先前执行之间的一个或多个差异,或者(ii)可执行指令的所述第二块的所述仿真执行与可执行指令的所述第一块的所述先前执行之间的等效性。5.根据权利要求4所述的方法,还包括:基于使用所述特定输入来仿真可执行指令的所述第一块的执行来获取所述第一输出。6.根据权利要求1所述的方法,其中仿真所述第二可执行代码的执行包括以下各项中的至少一项:平移所述第二可执行代码中的指针偏移,以与由所述第一可执行代码使用的指针偏移对齐;或者对所述第二可执行代码进行映射,以与由所述第一可执行代码使用的存储器偏移对齐。7.根据权利要求1所述的方法,其中所述第一可执行代码和所述第二可执行代码从相同的源代码被编译,但是利用以下各项中的一项或多项:(i)不同的编译器设置,或者(ii)
不同的编译器。8.根据权利要求7所述的方法,其中所述不同的编译器基于以下各项中的至少一项而不同:(i)编译器版本,或者(ii)编译器类型。9.根据权利要求1所述的方法,其中所述第一可执行代码从源代码的第一版本被编译,并且所述第二可执行代码从所述源代码的第二版本被编译,所述源代码的所述第二版本与所述源代码的所述第一版本不同。

技术总结
本公开涉及利用跟踪代码的记录执行来仿真非跟踪代码。例如,实施例访问第一可执行代码的先前执行的可重放记录执行。可重放记录执行包括一个或多个输入,该一个或多个输入在第一可执行代码的先前执行期间由一个或多个第一可执行指令消耗。与第一可执行代码不同的第二可执行代码也被访问。第二可执行代码的执行未被记录在可重放记录执行中。使用来自可重放记录执行的一个或多个输入来仿真第二可执行代码的执行。实施例可以报告第二可执行代码的仿真执行与第一可执行代码的先前执行之间的差异,或者可以报告第二可执行代码的仿真执行与第一可执行代码的先前执行之间的等效性。与第一可执行代码的先前执行之间的等效性。与第一可执行代码的先前执行之间的等效性。


技术研发人员:J
受保护的技术使用者:微软技术许可有限责任公司
技术研发日:2020.03.12
技术公布日:2021/11/9
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献