处理器指令的测试方法、装置、电子设备及存储介质

    专利2025-07-24  14


    本发明涉及计算机测试,尤其涉及处理器指令的测试方法、装置、电子设备及存储介质。


    背景技术:

    1、计算机系统的可靠性和安全性不仅依靠软件系统,而且需要依靠处理器硬件。最近几年,处理器安全的概念不断的受到研究人员的关注,对处理器安全相关的测试也在不断的增加。在对处理器的测试相关的研究工作中,有针对指令缺陷(功能正确性)的测试、针对处理器中隐藏指令的测试、针对处理器中微架构脆弱性的测试。其中,指令缺陷的测试和隐藏指令的测试关注的是对指令类型的覆盖率和指令生成的效率;对处理器中微架构脆弱性的测试关注的是指令组合的生成覆盖率和效率。

    2、在指令测试过程中,冗余的合法指令和无效指令如果在所测试的总指令中的占比过高会使得测试的效率较低,整个测试的耗时较长。


    技术实现思路

    1、本发明提供处理器指令的测试方法、装置、电子设备及存储介质,用以解决现有技术中指令测试效率低下,耗时较长的缺陷。

    2、本发明提供一种处理器指令的测试方法,包括:采用深度优先遍历算法生成待测试指令;将待测试指令输入至处理器,得到处理器输出的基于待测试指令处理后的处理器结果;将待测试指令输入至反汇编器,得到反汇编器输出的基于待测试指令反汇编后的反汇编结果;其中,反汇编器用于获取指令的特征值,并基于特征值跳过对特征值所在字节中冗余的立即数或者偏移量操作数的测试。基于处理器结果和反汇编结果,确定指令测试结果。

    3、根据本发明提供的一种处理器指令的测试方法,反汇编结果包括指令的长度信息和反汇编语义;反汇编语义用于判断指令是合法指令或者预留指令;处理器结果包括指令的长度信息和指令执行结果;指令测试结果包括缺陷指令和隐藏指令。

    4、根据本发明提供的一种处理器指令的测试方法,基于处理器结果和反汇编结果,确定指令测试结果,包括:若待测试指令为合法指令,且处理器结果的指令执行结果与反汇编语义的不一致,则确定待测试指令为缺陷指令,并将缺陷指令写入指令缺陷报告文件。

    5、根据本发明提供的一种处理器指令的测试方法,基于处理器结果和反汇编结果,确定指令测试结果,包括:若待测试指令为合法指令,且反汇编结果中的指令长度信息和处理器结果的指令的长度信息不一致,则确定待测试指令为缺陷指令,并将缺陷指令写入指令缺陷报告文件。

    6、根据本发明提供的一种处理器指令的测试方法,基于处理器结果和反汇编结果,确定指令测试结果,包括:若待测试指令为预留指令,且处理器结果中的指令执行结果未报非法指令异常,则确定待测试指令为隐藏指令,并将隐藏指令写入隐藏指令报告文件。

    7、根据本发明提供的一种处理器指令的测试方法,将待测试指令输入至处理器之后,包括:处理器获取指令的长度信息,并基于深度优先遍历算法利用指令的长度信息跳过待测试指令中的无效的指令字节的遍历。

    8、根据本发明提供的一种处理器指令的测试方法,得到处理器输出的基于待测试指令处理后的处理器结果,包括:若待测试指令在处理过程中出现异常,则处理器输出异常的指令执行结果;处理器获取异常信号,并根据异常信号确定异常类型;其中异常类型包括非法指令异常、段错误异常、总线错误异常、陷阱异常和浮点错误异常中的一种。

    9、本发明还提供一种处理器指令的测试装置,包括:待测试指令模块,用于采用深度优先遍历算法生成待测试指令;处理器,用于输入待测试指令,并输出基于待测试指令处理后的处理器结果;反汇编器,用于输入待测试指令,并输出基于待测试指令反汇编后的反汇编结果;其中反汇编器获取所述待测试指令的特征值,并基于特征值跳过对特征值所在字节中冗余的立即数或者偏移量操作数的测试;测试结果模块,用于基于处理器结果和反汇编结果,确定指令测试结果。

    10、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述任一种处理器指令的测试方法。

    11、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述处理器指令的测试方法。

    12、本发明提供的处理器指令的测试方法、装置、电子设备及存储介质,方法包括:采用深度优先遍历算法生成待测试指令;将待测试指令输入至处理器,得到处理器输出的基于待测试指令处理后的处理器结果;将待测试指令输入至反汇编器,得到反汇编器输出的基于待测试指令反汇编后的反汇编结果;基于处理器结果和反汇编结果,确定指令测试结果。通过反汇编器用于获取指令的特征值,并基于特征值跳过对特征值所在字节中冗余的立即数或者偏移量操作数的测试,本发明可以保证处理器的指令功能正确性和安全性,进行全面的测试的同时保持高覆盖率和较高的效率;能够在指令层面高效率的生成测试指令,从而提升对处理器的测试效率。



    技术特征:

    1.一种处理器指令的测试方法,其特征在于,包括:

    2.根据权利要求1所述的处理器指令的测试方法,其特征在于,

    3.根据权利要求2所述的处理器指令的测试方法,其特征在于,所述基于所述处理器结果和所述反汇编结果,确定指令测试结果,包括:

    4.根据权利要求2所述的处理器指令的测试方法,其特征在于,所述基于所述处理器结果和所述反汇编结果,确定指令测试结果,包括:

    5.根据权利要求2所述的处理器指令的测试方法,其特征在于,所述基于所述处理器结果和所述反汇编结果,确定指令测试结果,包括:

    6.根据权利要求1至5任一项所述的处理器指令的测试方法,其特征在于,所述将所述待测试指令输入至处理器之后,包括:

    7.根据权利要求1至5任一项所述的处理器指令的测试方法,其特征在于,得到所述处理器输出的基于所述待测试指令处理后的处理器结果,包括:

    8.一种处理器指令的测试装置,其特征在于,包括:

    9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述处理器指令的测试方法。

    10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述处理器指令的测试方法。


    技术总结
    本发明提供处理器指令的测试方法、装置、电子设备及存储介质,涉及计算机测试技术领域,该方法包括:采用深度优先遍历算法生成待测试指令;将所述待测试指令输入至处理器,得到所述处理器输出的基于所述待测试指令处理后的处理器结果;将所述待测试指令输入至反汇编器,得到所述反汇编器输出的基于所述待测试指令反汇编后的反汇编结果;反汇编器用于获取指令的特征值,并基于特征值跳过对特征值所在字节中冗余的立即数或者偏移量操作数的测试。基于所述处理器结果和所述反汇编结果,确定指令测试结果。通过上述方式,本发明可以保证高覆盖率的同时保证较高效率,提高指令空间的测试效率。

    技术研发人员:孟丹,朱子元,王光
    受保护的技术使用者:中国科学院信息工程研究所
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-89902.html

    最新回复(0)