CN114924987A - 脚本输入指令的检测方法、装置、设备和介质 - Google Patents
脚本输入指令的检测方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN114924987A CN114924987A CN202210646106.3A CN202210646106A CN114924987A CN 114924987 A CN114924987 A CN 114924987A CN 202210646106 A CN202210646106 A CN 202210646106A CN 114924987 A CN114924987 A CN 114924987A
- Authority
- CN
- China
- Prior art keywords
- input instruction
- input
- instruction set
- script
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013515 script Methods 0.000 title claims abstract description 185
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000001514 detection method Methods 0.000 claims abstract description 34
- 230000007717 exclusion Effects 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 abstract description 16
- 238000012423 maintenance Methods 0.000 abstract description 7
- 238000012795 verification Methods 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本公开提供了一种脚本输入指令的检测方法、装置、设备、介质和程序产品,涉及计算机技术领域,尤其涉及脚本检测和芯片技术。具体实现方案为:根据脚本输入指令之间的关系,获取至少一个错误输入指令集;利用所述至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。本公开可以快速检测脚本输入指令的问题,不仅提高了检测效率,而且便于后续脚本的维护。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及脚本检测和芯片技术,具体涉及一种脚本输入指令的检测方法、装置、设备、介质和程序产品。
背景技术
随着设计芯片规模的增加,芯片的验证工作显得尤为重要。在大规模芯片设计的验证工作中,工程师通常采用开发脚本的方式,即采用简短的指令代替复杂的操作,大大提升了工作效率。
随着验证平台实现的功能剧增,随之而来的是伴随着脚本的输入指令的剧增,但脚本输入指令通常是简短的字符,如-t,-w,很容易出现误操作,同时,工程师也很难准确记忆所有输入指令之间的关系。而在脚本输入阶段需要输入大量的指令来操纵芯片验证的运行,因此,检测脚本输入指令是否有误,对于提升验证工作的效率显得非常重要。
发明内容
本公开提供了一种脚本输入指令的检测方法、装置、设备、介质和程序产品。
根据本公开的一方面,提供了一种脚本输入指令的检测方法,包括:
根据脚本输入指令之间的关系,获取至少一个错误输入指令集;
利用所述至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。
根据本公开的另一方面,提供了一种脚本输入指令的检测装置,包括:
错误输入指令集获取模块,用于根据脚本输入指令之间的关系,获取至少一个错误输入指令集;
错误输入指令检测模块,用于利用所述至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任意实施例所述的脚本输入指令的检测方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行本公开任意实施例所述的脚本输入指令的检测方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开任意实施例所述的脚本输入指令的检测方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的一种脚本输入指令的检测方法的流程示意图;
图2a是根据本公开实施例的一种脚本输入指令的检测方法的流程示意图;
图2b是根据本公开实施例的输入指令关系表的示意图;
图3是根据本公开实施例的一种脚本输入指令的检测方法的流程示意图;
图4是根据本公开实施例的一种脚本输入指令的检测方法的流程示意图;
图5是根据本公开实施例的一种脚本输入指令的检测方法的示意图;
图6是根据本公开实施例的一种脚本输入指令的检测装置的结构示意图;
图7是用来实现本公开实施例的一种脚本输入指令的检测方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开实施例的脚本输入指令的检测方法的流程示意图,本实施例可适用于对脚本输入指令进行自检测的情况,例如,对语音芯片进行验证的过程中所使用的脚本输入指令,涉及计算机技术领域,尤其涉及脚本检测和芯片技术。该方法可由一种脚本输入指令的检测装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于电子设备中,例如移动终端、计算机设备或服务器等。如图1所示,该方法具体包括如下:
S101、根据脚本输入指令之间的关系,获取至少一个错误输入指令集。
针对脚本多重指令,有些输入指令可以同时存在,有些输入指令不能同时存在,有些脚本指令必须同时存在。如果多重指令中的输入指令不符合这些要求,则属于错误输入指令,需要对其进行自检测。具体的,可以根据输入指令之间能否同时存在以及是否必须同时存在等规定或要求,来确定脚本输入指令之间的关系。然后根据该关系,获取至少一个错误输入指令集。例如,将不能同时存在或者必须同时存在的输入指令构成集合。具体实施时,可以根据对错误输入指令的类型和检测要求来获取相应的错误输入指令集,本公开对此不作任何限定。
S102、利用至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。
错误输入指令集用于对不同类型的错误输入指令进行标注,如果当前待检测的目标脚本输入指令集中出现了错误输入指令集中标注的错误输入指令,则可以达到对其进行自检测的目的。因此,利用至少一个错误输入指令集,即可对目标脚本输入指令集中的错误输入指令进行检测。
例如,对于不能同时存在的错误输入指令集中标注了多个不能同时存在的输入指令组,然后,先在目标脚本输入指令集中检索其中是否存在这些输入指令组中的任意目标输入指令,如果存在,则进一步检索目标脚本输入指令集中,是否存在该目标输入指令在输入指令组中不能同时存在的输入指令,如果存在,则表示检测出目标脚本输入指令集中出现了错误指令。
需要说明的是,现有技术中对脚本输入指令进行检测,通常是人工定位检查,但随着脚本输入指令的剧增,多重指令大量存在,人工定位检查的方法不仅出错率较高,而且效率低。在需要对脚本进行迭代优化时,就需要重新对脚本进行检查,后期维护效率低。
本公开实施例的技术方案,根据脚本输入指令之间的关系获取至少一个错误输入指令集,从而就可以利用至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。不仅能根据错误指令集快速检测定位脚本输入指令的问题,同时也便于后续脚本的维护。当脚本输入指令增加时,只需更新错误输入指令集即可,无需改动脚本就可以快速实现自检测,从而进一步提高检测效率。尤其是在芯片验证场景中,可以节省各种芯片验证资源,提高芯片验证效率。
图2a是根据本公开实施例的脚本输入指令的检测方法的流程示意图,本实施例在上述实施例的基础上进一步进行优化。如图2a所示,该方法具体包括如下:
S201、根据脚本输入指令之间的关系生成输入指令关系表,其中,输入指令关系表用于记载任意两个脚本输入指令之间的关系。
在本实施例中,采用表格的方式来生成输入指令关系表,用于记载任意两个脚本输入指令之间的关系。在输入指令关系表中,首行和首列的各单元格标注各输入指令,其他各单元格标注该单元格所在行对应的输入指令与所在列对应的输入指令之间的关系。在一种实施方式中,输入指令关系表的形式可以为excel表格。通过表格的方式来生成输入指令关系表,并在表格的各单元格中标注出输入指令之间的关系,可以让工程师更加直观、且方便地查看各个输入指令的关系,从而有助于工程师编写脚本。
图2b是根据本公开实施例的输入指令关系表的示意图。图中包含5个输入指令,分别是输入指令1-5,将这些输入指令分别标注在关系表的首行和首列,并在关系表其他的单元格中标注该单元格所在行对应的输入指令与所在列对应的输入指令之间的关系。示例性的,如图2b所示,可以将互斥关系标注为n,将强兼容关系标注为y,当然,也可以根据需要将互斥关系和强兼容关系以其他任意方式进行标注,本实施例对此不作任何限定。以图中的输入指令3为例,根据关系表可知,输入指令3与输入指令3是互斥关系,也即在输入指令中不能同时出现两次输入指令3;输入指令3与输入指令1和输入指令2均为强兼容关系,也即在输入指令中如果出现输入指令3,那么必须出现输入指令1或者输入指令2。此外,没有进行标注的空白单元格则可以表示其所在行和所在列对应的输入指令之间,没有特殊要求,或者没有特殊关系。由此,通过表格就可以清楚地标注出任意两个输入指令之间的关系。而且,当脚本中增加新的输入指令,只需将新的输入指令及其与其他各个输入指令的关系,补充到关系表中即可。
需要说明的是,图2b只是将互斥关系和强兼容关系作为示例,对于存在的其他错误类型,也可以在关系表中标注出来,本实施例对此不作任何限定。
S202、根据输入指令关系表获取至少一个错误输入指令集。
具体的,可以对输入指令关系表进行逐行扫描,并根据每行中各单元格标注的关系,获取至少一个错误输入指令集。仍以图2b为例,在扫描第一行时,可以获取输入指令1分别与输入指令1、2互斥,因此可以得到两组互斥的指令组;在扫描第二行的时候,可以得到输入指令2分别与输入指令1、2、4互斥,因此,可以得到三组互斥的指令组;以此类推。当全部扫描完毕,就可以将所有得到的互斥的指令组构成互斥的错误输入指令集。同理,也可以获取到强关联的错误输入指令集,其中包括关系表第三行中的输入指令3与输入指令1、2,第四行的输入指令4与输入指令1,以及第五行的输入指令5与输入指令1、2。由此,采用关系表逐行扫描的方式,不仅可以自动完成,而且可以快速并准确地获取错误输入指令集。
S203、利用至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。
本公开实施例的技术方案,根据脚本输入指令之间的关系生成关系表,然后根据关系表获取至少一个错误输入指令集,从而就可以利用至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。不仅能根据错误指令集快速检测定位脚本输入指令的问题,同时也便于后续脚本的维护。当脚本输入指令增加时,只需更新关系表即可,无需改动脚本就可以快速实现自检测,从而进一步提高检测效率。尤其是在芯片验证场景中,可以节省各种芯片验证资源,提高芯片验证效率。
图3是根据本公开实施例的脚本输入指令的检测方法的流程示意图,本实施例在上述实施例的基础上,对互斥指令问题的检测过程进一步进行优化。如图3所示,该方法具体包括如下:
S301、根据脚本输入指令之间的关系,获取至少一个错误输入指令集;其中,所述关系为互斥关系,所述错误输入指令集为互斥指令集。
其中,互斥关系表示在输入指令中不能同时出现互为互斥关系的两个输入指令。所述互斥指令集包括:至少一个第一输入指令和与每个第一输入指令互斥的至少一个互斥输入指令。其中,第一输入指令即为在所有的输入指令中存在互斥指令的指令,互斥指令集中可以包含这些第一输入指令,还包含每一个第一输入指令对应的至少一个互斥输入指令。互斥指令集是二维数据,因此,在一种实施方式中,也可以将互斥指令集以表格形式生成,表格中的每一行则用于记载该行对应的第一输入指令及其至少一个互斥输入指令。
S302、将互斥指令集中任意第一输入指令作为当前第一输入指令。
S303、判断目标脚本输入指令集中是否存在当前第一输入指令,如果存在,则执行S304,如果不存在,则执行S306。
互斥指令集中的第一输入指令,是所有输入指令中存在互斥指令的指令,因此,如果目标脚本输入指令集中不存在任何第一输入指令,则表示目标脚本输入指令集中不会出现互斥问题。因此,本实施例依次对每一个第一输入指令进行判断,如果目标脚本输入指令集中不存在当前第一输入指令,则执行S306,对下一个第一输入指令继续进行判断;如果目标脚本输入指令集中存在当前第一输入指令,则继续执行S304,做出进一步的判断。
S304、根据互斥指令集判断目标脚本输入指令集中,是否存在与当前第一输入指令互斥的互斥输入指令,如果存在,则执行S305,如果不存在,则执行S306。
也即,判断目标脚本输入指令集中是否存在互斥指令集中记载的与当前第一输入指令互斥的互斥输入指令,只要存在其中的一个互斥输入指令,就表示目标脚本输入指令集中检测出互斥指令问题,因此执行S305。如果不存在任意一个互斥输入指令,则执行306,对下一个第一输入指令继续进行判断。
在一种实施方式中,可以采用对两个集合求交集的方式来完成上述判断操作。具体的,根据互斥指令集判断目标脚本输入指令集中,是否存在与当前第一输入指令互斥的互斥输入指令,包括:
将互斥指令集中与当前第一输入指令互斥的至少一个互斥输入指令的集合,与目标脚本输入指令集求第一交集;
如果第一交集不为空,则表示目标脚本输入指令集中存在与当前第一输入指令互斥的互斥输入指令。
由此,通过判断第一交集是否为空,就可以快速确定出目标脚本输入指令集中是否存在与当前第一输入指令互斥的互斥输入指令。
S305、目标脚本输入指令集中检测出互斥指令问题,对检测出的互斥指令进行报错。
将检测出目标脚本输入指令集中存在与当前第一输入指令互斥的互斥输入指令,还可以将其存在的全部互斥输入指令确定出来,并和当前第一输入指令一起,进行突出显示,并报错,从而便于工程师后续进行查看和修改。
S306、判断当前第一输入指令是否为至少一个第一输入指令中的最后一个第一输入指令,如果判断为是,则结束当前流程,否则执行S307后返回执行S303。
S307、将至少一个第一输入指令中的另一个第一输入指令作为当前第一输入指令。
本公开实施例的技术方案,根据脚本输入指令之间的互斥关系获取至少一个互斥指令集,从而就可以利用至少一个互斥指令集,对目标脚本输入指令集中的互斥输入指令问题进行检测。不仅能快速检测定位脚本的互斥输入指令,同时也便于后续脚本的维护。尤其是在芯片验证场景中,可以节省各种芯片验证资源,提高芯片验证效率。
图4是根据本公开实施例的脚本输入指令的检测方法的流程示意图,本实施例在上述实施例的基础上,对强兼容指令问题的检测过程进一步进行优化。如图4所示,该方法具体包括如下:
S401、根据脚本输入指令之间的关系,获取至少一个错误输入指令集;其中,所述关系为强兼容关系,所述错误输入指令集为强兼容指令集。
其中,强兼容关系表示在输入指令中,具有强兼容关系的输入指令必须同时存在,且当某输入指令的强兼容指令有两个或两个以上时,与该输入指令同时存在的强兼容指令的数量只能为1。所述强兼容指令集包括:至少一个第二输入指令和与每个第二输入指令强兼容的至少一个强兼容输入指令。其中,第二输入指令即为在所有的输入指令中存在强兼容指令的指令,强兼容指令集中可以包含这些第二输入指令,还包含每一个第二输入指令对应的至少一个强兼容输入指令。强兼容指令集是二维数据,因此,在一种实施方式中,也可以将强兼容指令集以表格形式生成,表格中的每一行则用于记载该行对应的第二输入指令及其至少一个强兼容输入指令。
S402、将强兼容指令集中任意第二输入指令作为当前第二输入指令。
S403、判断目标脚本输入指令集中是否存在当前第二输入指令,如果存在,则执行S404,如果不存在,则执行S407。
强兼容指令集中的第二输入指令,是所有输入指令中存在强兼容指令的指令,因此,如果目标脚本输入指令集中不存在任何第二输入指令,则表示目标脚本输入指令集中不会出现强兼容问题。因此,本实施例依次对每一个第二输入指令进行判断,如果目标脚本输入指令集中不存在当前第二输入指令,则执行S407,对下一个第二输入指令继续进行判断;如果目标脚本输入指令集中存在当前第二输入指令,则继续执行S404,做出进一步的判断。
S404、根据强兼容指令集判断目标脚本输入指令集中,是否存在与当前第二输入指令强兼容的强兼容输入指令,如果存在,则执行S405,如果不存在,则执行S406。
S405、判断目标脚本输入指令集中存在的与当前第二输入指令强兼容的强兼容输入指令的数量是否为1,如果不为1,则执行S406,否则执行S407。
也即,当目标脚本输入指令集中存在与当前第二输入指令强兼容的强兼容输入指令,还需要对存在的强兼容输入指令的数量进一步进行判断,只有数量为1时,才不存在强兼容问题。
在一种实施方式中,可以采用对两个集合求交集的方式来完成上述判断操作。具体的,根据强兼容指令集判断目标脚本输入指令集中,是否存在与当前第二输入指令强兼容的强兼容输入指令,包括:
将强兼容指令集中与当前第二输入指令强兼容的至少一个强兼容输入指令的集合,与目标脚本输入指令集求第二交集;
如果第二交集为空,则表示不存在与当前第二输入指令强兼容的强兼容输入指令;
如果第二交集不为空,则表示存在与当前第二输入指令强兼容的强兼容输入指令,并根据第二交集中元素的数量,确定存在的与当前第二输入指令强兼容的强兼容输入指令的数量是否为1。
由此,通过判断第二交集是否为空,以及不为空时的元素数量,就可以快速确定出目标脚本输入指令集中是否存在与当前第二输入指令强兼容的强兼容输入指令,并进一步确定出是否存在强兼容问题。
S406、目标脚本输入指令集中检测出强兼容指令问题,对检测出的强兼容指令进行报错。
将检测出目标脚本输入指令集中存在与当前第二输入指令强兼容的强兼容输入指令,还可以将当前第二输入指令,以及与之强兼容的两个或两个以上的指令一起进行突出显示,并报错,从而便于工程师后续进行查看和修改。
S407、判断当前第二输入指令是否为至少一个第二输入指令中的最后一个第二输入指令,如果判断为是,则结束当前流程,否则执行S408后返回执行S403。
S408、将至少一个第二输入指令中的另一个第二输入指令作为当前第二输入指令。
本公开实施例的技术方案,根据脚本输入指令之间的强兼容关系获取至少一个强兼容指令集,从而就可以利用至少一个强兼容指令集,对目标脚本输入指令集中的强兼容输入指令问题进行检测。不仅能快速检测定位脚本的强兼容问题,同时也便于后续脚本的维护。尤其是在芯片验证场景中,可以节省各种芯片验证资源,提高芯片验证效率。
图5是根据本公开实施例的脚本输入指令的检测方法的流程示意图,本实施例在上述实施例的基础上进一步进行优化。如图5所示,该方法具体包括如下:
S501、根据脚本输入指令之间的关系生成输入指令关系表,其中,所述输入指令关系表用于记载任意两个脚本输入指令之间的关系,所述关系包括互斥关系和强兼容关系。
S502、根据输入指令关系表获取至少一个错误输入指令集,所述错误输入指令集包括互斥指令集和强兼容指令集。
S503、根据互斥指令集判断目标脚本输入指令集中是否存在互斥指令,如果判断为是,则执行S507,如果判断为否,则执行S505。
S504、根据强兼容指令集判断目标脚本输入指令集中是否存在强兼容指令,如果判断为是,则执行S507,如果判断为否,则执行S505。
S505、根据输入指令关系表判断目标脚本输入指令集中是否存在误输入指令,如果判断为是,则执行S507,如果判断为否,则执行S506。
S506、输入指令无误。
S507、对错误指令进行报错。
在本实施例中,得到互斥指令集和强兼容指令集后,可以同时通过S503和S504对互斥问题和强兼容问题进行判断,当然,也可以分别进行判断,即当判断出不存在互斥问题之后再对强兼容问题进行判断,或者当判断出不存在强兼容问题之后再对互斥问题进行判断,本实施例对此不作任何限定。
此外,还有一种实施方式,即在逐行扫描输入指令关系表以获取互斥指令集和强兼容指令集的过程中,对每一个当前行进行扫描后,得到当前行的互斥指令和/或强兼容指令,然后可以先基于当前行的互斥指令和/或强兼容指令对目标脚本输入指令集进行检测,然后再进行下一行的扫描,以此类推。
当出现互斥问题或强兼容问题,都可以对错误指令进行显示和报错。当未出现互斥问题或强兼容问题,则还可以进一步对误输入指令进行判断。也即,根据输入指令关系表判断目标脚本输入指令集中是否存在误输入指令,如果判断为是,则对该误输入指令进行显示并报错。
其中,误输入指令是指该指令在所有脚本输入指令中不存在,而输入指令关系表是根据所有脚本输入指令生成的,那么将目标脚本输入指令集中当前待检测的每个输入指令分别与输入指令关系表中的指令进行匹配,如果在目标脚本输入指令集中存在与输入指令关系表中的输入指令不能匹配的目标指令,则表示该目标指令为误输入指令。而通过对误输入指令的检测,可以进一步提高脚本输入指令的检测效果,提升脚本的准确性。
本公开实施例的技术方案,可以以一套指令自检测脚本实现,该自检测脚本根据至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。不仅能根据错误指令集快速检测定位脚本输入指令的问题,同时也便于后续脚本的维护。当脚本输入指令增加时,只需更新错误输入指令集即可,无需改动脚本就可以快速实现自检测,从而进一步提高检测效率。尤其是在芯片验证场景中,可以节省各种芯片验证资源,提高芯片验证效率。
图6是根据本公开实施例的脚本输入指令的检测装置的结构示意图,本实施例可适用于对脚本输入指令进行自检测的情况,例如,对语音芯片进行验证的过程中所使用的脚本输入指令,涉及计算机技术领域,尤其涉及脚本检测和芯片技术。该装置可实现本公开任意实施例所述的脚本输入指令的检测方法。如图6所示,该装置600具体包括:
错误输入指令集获取模块601,用于根据脚本输入指令之间的关系,获取至少一个错误输入指令集;
错误输入指令检测模块602,用于利用所述至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。
可选的,错误输入指令集获取模块601,包括:
输入指令关系表生成单元,用于根据脚本输入指令之间的关系生成输入指令关系表,其中,所述输入指令关系表用于记载任意两个脚本输入指令之间的关系;
错误输入指令集获取单元,用于根据所述输入指令关系表获取至少一个错误输入指令集。
可选的,在所述输入指令关系表中,首行和首列的各单元格标注各输入指令,其他各单元格标注该单元格所在行对应的输入指令与所在列对应的输入指令之间的关系。
可选的,所述输入指令关系表的形式为excel表格。
可选的,所述错误输入指令集获取单元具体用于:
对所述输入指令关系表进行逐行扫描,并根据每行中各单元格标注的所述关系,获取至少一个错误输入指令集。
可选的,所述关系至少包括互斥关系;所述错误输入指令集至少包括互斥指令集;
其中,所述互斥指令集包括:至少一个第一输入指令和与每个第一输入指令互斥的至少一个互斥输入指令。
可选的,错误输入指令检测模块602,具体用于:
将所述互斥指令集中任意所述第一输入指令作为当前第一输入指令;
响应于所述目标脚本输入指令集中存在所述当前第一输入指令,根据所述互斥指令集判断所述目标脚本输入指令集中,是否存在与所述当前第一输入指令互斥的互斥输入指令;
如果存在与所述当前第一输入指令互斥的互斥输入指令,则表示所述目标脚本输入指令集中检测出互斥指令问题。
可选的,错误输入指令检测模块602,还具体用于:
将所述互斥指令集中与所述当前第一输入指令互斥的至少一个互斥输入指令的集合,与所述目标脚本输入指令集求第一交集;
如果所述第一交集不为空,则表示所述目标脚本输入指令集中存在与所述当前第一输入指令互斥的互斥输入指令。
可选的,所述关系至少包括强兼容关系;所述错误输入指令集至少包括强兼容指令集;
其中,所述强兼容指令集包括:至少一个第二输入指令和与每个第二输入指令强兼容的至少一个强兼容输入指令。
可选的,错误输入指令检测模块602,具体用于:
将所述强兼容指令集中任意所述第二输入指令作为当前第二输入指令;
响应于所述目标脚本输入指令集中存在所述当前第二输入指令,根据所述强兼容指令集判断所述目标脚本输入指令集中,是否存在与所述当前第二输入指令强兼容的强兼容输入指令;
如果不存在与所述当前第二输入指令强兼容的强兼容输入指令,或者存在的与所述当前第二输入指令强兼容的强兼容输入指令的数量不为1,则表示所述目标脚本输入指令集中检测出强兼容指令问题。
可选的,错误输入指令检测模块602,还具体用于:
将所述强兼容指令集中与所述当前第二输入指令强兼容的至少一个强兼容输入指令的集合,与所述目标脚本输入指令集求第二交集;
如果所述第二交集为空,则表示不存在与所述当前第二输入指令强兼容的强兼容输入指令;
如果所述第二交集不为空,则表示存在与所述当前第二输入指令强兼容的强兼容输入指令,并根据所述第二交集中元素的数量,确定存在的与所述当前第二输入指令强兼容的强兼容输入指令的数量是否为1。
可选的,所述装置还包括误输入指令检测模块,用于:
依次将所述目标脚本输入指令集中的输入指令与所述输入指令关系表中的输入指令进行匹配;
如果在所述目标脚本输入指令集中,存在与所述输入指令关系表中的输入指令不能匹配的目标指令,则表示所述目标指令为误输入指令。
可选的,所述装置还包括:
报错模块,用于对在所述目标脚本输入指令集中检测出的错误输入指令进行报错。
可选的,所述目标脚本输入指令集用于对芯片进行验证。
上述产品可执行本公开任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如脚本输入指令的检测方法。例如,在一些实施例中,脚本输入指令的检测方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的脚本输入指令的检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行脚本输入指令的检测方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式***的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作***、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (18)
1.一种脚本输入指令的检测方法,包括:
根据脚本输入指令之间的关系,获取至少一个错误输入指令集;
利用所述至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。
2.根据权利要求1所述的方法,其中,所述根据脚本输入指令之间的关系,获取至少一个错误输入指令集,包括:
根据脚本输入指令之间的关系生成输入指令关系表,其中,所述输入指令关系表用于记载任意两个脚本输入指令之间的关系;
根据所述输入指令关系表获取至少一个错误输入指令集。
3.根据权利要求2所述的方法,其中,在所述输入指令关系表中,首行和首列的各单元格标注各输入指令,其他各单元格标注该单元格所在行对应的输入指令与所在列对应的输入指令之间的关系。
4.根据权利要求3所述的方法,其中,所述输入指令关系表的形式为excel表格。
5.根据权利要求3所述的方法,其中,所述根据所述输入指令关系表获取至少一个错误输入指令集,包括:
对所述输入指令关系表进行逐行扫描,并根据每行中各单元格标注的所述关系,获取至少一个错误输入指令集。
6.根据权利要求1所述的方法,其中,所述关系至少包括互斥关系;所述错误输入指令集至少包括互斥指令集;
其中,所述互斥指令集包括:至少一个第一输入指令和与每个第一输入指令互斥的至少一个互斥输入指令。
7.根据权利要求6所述的方法,其中,所述利用所述至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测,包括:
将所述互斥指令集中任意所述第一输入指令作为当前第一输入指令;
响应于所述目标脚本输入指令集中存在所述当前第一输入指令,根据所述互斥指令集判断所述目标脚本输入指令集中,是否存在与所述当前第一输入指令互斥的互斥输入指令;
如果存在与所述当前第一输入指令互斥的互斥输入指令,则表示所述目标脚本输入指令集中检测出互斥指令问题。
8.根据权利要求7所述的方法,其中,所述根据所述互斥指令集判断所述目标脚本输入指令集中,是否存在与所述当前第一输入指令互斥的互斥输入指令,包括:
将所述互斥指令集中与所述当前第一输入指令互斥的至少一个互斥输入指令的集合,与所述目标脚本输入指令集求第一交集;
如果所述第一交集不为空,则表示所述目标脚本输入指令集中存在与所述当前第一输入指令互斥的互斥输入指令。
9.根据权利要求1所述的方法,其中,所述关系至少包括强兼容关系;所述错误输入指令集至少包括强兼容指令集;
其中,所述强兼容指令集包括:至少一个第二输入指令和与每个第二输入指令强兼容的至少一个强兼容输入指令。
10.根据权利要求9所述的方法,其中,所述利用所述至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测,包括:
将所述强兼容指令集中任意所述第二输入指令作为当前第二输入指令;
响应于所述目标脚本输入指令集中存在所述当前第二输入指令,根据所述强兼容指令集判断所述目标脚本输入指令集中,是否存在与所述当前第二输入指令强兼容的强兼容输入指令;
如果不存在与所述当前第二输入指令强兼容的强兼容输入指令,或者存在的与所述当前第二输入指令强兼容的强兼容输入指令的数量不为1,则表示所述目标脚本输入指令集中检测出强兼容指令问题。
11.根据权利要求10所述的方法,其中,所述根据所述强兼容指令集判断所述目标脚本输入指令集中,是否存在与所述当前第二输入指令强兼容的强兼容输入指令,包括:
将所述强兼容指令集中与所述当前第二输入指令强兼容的至少一个强兼容输入指令的集合,与所述目标脚本输入指令集求第二交集;
如果所述第二交集为空,则表示不存在与所述当前第二输入指令强兼容的强兼容输入指令;
如果所述第二交集不为空,则表示存在与所述当前第二输入指令强兼容的强兼容输入指令,并根据所述第二交集中元素的数量,确定存在的与所述当前第二输入指令强兼容的强兼容输入指令的数量是否为1。
12.根据权利要求2所述的方法,还包括:
依次将所述目标脚本输入指令集中的输入指令与所述输入指令关系表中的输入指令进行匹配;
如果在所述目标脚本输入指令集中,存在与所述输入指令关系表中的输入指令不能匹配的目标指令,则表示所述目标指令为误输入指令。
13.根据权利要求1所述的方法,还包括:
对在所述目标脚本输入指令集中检测出的错误输入指令进行报错。
14.根据权利要求1所述的方法,其中,所述目标脚本输入指令集用于对芯片进行验证。
15.一种脚本输入指令的检测装置,包括:
错误输入指令集获取模块,用于根据脚本输入指令之间的关系,获取至少一个错误输入指令集;
错误输入指令检测模块,用于利用所述至少一个错误输入指令集,对目标脚本输入指令集中的错误输入指令进行检测。
16.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-14中任一项所述的脚本输入指令的检测方法。
17.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-14中任一项所述的脚本输入指令的检测方法。
18.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-14中任一项所述的脚本输入指令的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210646106.3A CN114924987A (zh) | 2022-06-08 | 2022-06-08 | 脚本输入指令的检测方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210646106.3A CN114924987A (zh) | 2022-06-08 | 2022-06-08 | 脚本输入指令的检测方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114924987A true CN114924987A (zh) | 2022-08-19 |
Family
ID=82811746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210646106.3A Pending CN114924987A (zh) | 2022-06-08 | 2022-06-08 | 脚本输入指令的检测方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114924987A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194620A1 (en) * | 2001-06-19 | 2002-12-19 | Joel Zdepski | Automated input in an interactive television system |
CN106775937A (zh) * | 2016-12-02 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种命令行校验方法及装置 |
CN110008003A (zh) * | 2019-04-10 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种命令行有效性检测方法及相关装置 |
CN111542037A (zh) * | 2020-05-11 | 2020-08-14 | Tcl移动通信科技(宁波)有限公司 | 指令传输方法、装置及存储介质 |
CN114025037A (zh) * | 2021-10-28 | 2022-02-08 | 北京百度网讯科技有限公司 | 一种云手机的检修方法、装置、电子设备和存储介质 |
-
2022
- 2022-06-08 CN CN202210646106.3A patent/CN114924987A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194620A1 (en) * | 2001-06-19 | 2002-12-19 | Joel Zdepski | Automated input in an interactive television system |
CN106775937A (zh) * | 2016-12-02 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种命令行校验方法及装置 |
CN110008003A (zh) * | 2019-04-10 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种命令行有效性检测方法及相关装置 |
CN111542037A (zh) * | 2020-05-11 | 2020-08-14 | Tcl移动通信科技(宁波)有限公司 | 指令传输方法、装置及存储介质 |
CN114025037A (zh) * | 2021-10-28 | 2022-02-08 | 北京百度网讯科技有限公司 | 一种云手机的检修方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3916634A2 (en) | Text recognition method and device, and electronic device | |
CN113377890B (zh) | 一种地图质检方法、装置、电子设备及存储介质 | |
US20230186137A1 (en) | Quantum Circuit Processing Method and Device on Quantum Chip, and Electronic Device | |
CN115617888A (zh) | 数据导入方法、装置、设备、存储介质及产品 | |
CN117474091A (zh) | 一种知识图谱构建方法、装置、设备及存储介质 | |
WO2022198835A1 (zh) | 电子地图的测试方法、装置、电子设备及存储介质 | |
CN113849581A (zh) | 告警信息的处理方法、装置、设备和存储介质 | |
US20230213353A1 (en) | Method of updating road information, electronic device, and storage medium | |
CN116340172A (zh) | 基于测试场景的数据收集方法、装置及测试用例检测方法 | |
CN115547508B (zh) | 数据校正方法、装置、电子设备及存储介质 | |
CN116975081A (zh) | 一种日志诊断集更新方法、装置、设备及存储介质 | |
US20230144949A1 (en) | Virtual-machine cold migration method and apparatus, electronic device and storage medium | |
US20220360796A1 (en) | Method and apparatus for recognizing action, device and medium | |
CN114924987A (zh) | 脚本输入指令的检测方法、装置、设备和介质 | |
CN115186738A (zh) | 模型训练方法、装置和存储介质 | |
CN114896418A (zh) | 知识图谱构建方法、装置、电子设备及存储介质 | |
CN113885978A (zh) | 结合rpa及ai的元素截图方法以及装置 | |
CN117573561B (zh) | 一种自动化测试***、方法、电子设备和存储介质 | |
CN114880242B (zh) | 测试用例的提取方法、装置、设备和介质 | |
US20220139097A1 (en) | Method for determining annotation capability information, related apparatus and computer program product | |
CN112148285B (zh) | 一种界面设计方法、装置、电子设备及存储介质 | |
CN114416678A (zh) | 一种资源处理方法、装置、设备以及存储介质 | |
CN113962382A (zh) | 训练样本的构建方法、装置、电子设备和可读存储介质 | |
CN115905582A (zh) | 一种异常poi数据的检测方法、装置、电子设备及存储介质 | |
CN116205279A (zh) | 深度学习模型的硬件调度执行方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |