利用定义的输入格式来测试应用制造技术

技术编号:29253806 阅读:23 留言:0更新日期:2021-07-13 17:24
本申请涉及利用定义的输入格式来测试应用。提供一种系统和方法用于测试应用的性能。仅通过示例,方法可以包括:利用包含根据定义格式布置的文本元素的文档来训练神经网络,并且使用该神经网络来确定测试文档内的单独的文本元素的值的可预测性。当神经网络指示文本元素的值不太可能时,值可以被修改并且所修改的文档可以被用于测试根据定义格式处理文档的应用。

【技术实现步骤摘要】
利用定义的输入格式来测试应用分案说明本申请属于申请日为2017年9月27日的中国专利技术专利申请201710892789.X的分案申请。
本申请涉及利用定义的输入格式来测试应用。
技术介绍
模糊测试提供用于使用随机化输入来测试计算机程序的技术。例如,基于模糊的测试技术可以被用于生成并且修改包括文件文档的测试输入,其符合诸如超文本标记语言(HTML)、便携式文档格式(PDF)或级联类型表(CSS)语言的定义的文本格式。当文档被提供到应用用于处理时,可以针对诸如崩溃或使数据暴露于非授权访问的不期望或不希望的行为监测应用。某些基于生成的模糊技术可以基于手动地指定的语法随机地生成或改变测试文档。例如,定义格式的要求可以被写作计算机指令集,其生成或改变随机值的序列,使得序列保持与格式完全一致。复杂的格式可能使创建完全实现例如能够迭代所有要求或以不期望的方式迭代要求的语法的计算机指令困难并且麻烦。而且,对定义格式的要求的小改变可能要求对计算机指令的大量的改变。某些基于变化的模糊技术可以对现有的测试文档做出小的改变、分析结果并且然后重复过程。通过示例,基于变化的模糊技术可以包含:选择符合定义的文本格式的文档;由随机地改变字符(例如,通过比特倒转或字节增加)、删除字符、添加字符或交换字符串来变化(例如,修改)所选择的文档;使用正在测试的应用来处理文档;基于其覆盖范围(例如,例程的标识和作为处理文档的结果在应用中执行的唯一代码行的数目),对文档进行评分以及;将得分用作遗传算法等中的适应度函数来确定文档是否应该进一步变化和评分。导致崩溃或允许潜在地恶意动作(例如,缓冲区溢出)的文档还可以被选择用于附加的变化和测试。虽然基于变化的模糊技术对于某些格式(诸如媒体格式)是有效的,但是当结合复杂的文本格式使用时,其可以比基于生成的模糊技术效果更差。
技术实现思路
本技术的一个方面涉及一种方法,其包括:接收文本元素的值的序列;利用一个或多个计算设备确定序列的文本元素值的得分,其中,得分与特定文本元素值等于一个或多个给定值的概率有关,并且其中,所述概率基于与定义格式一致的文本元素值的序列,利用一个或多个计算设备将得分与阈值相比较;当得分小于阈值时,利用一个或多个计算设备修改文本元素的值以形成文本元素值的经修改的序列;利用一个或多个计算设备利用指令集处理文本元素值的所述经修改的序列;当指令集处理文本元素值的所述经修改的序列时,利用一个或多个计算设备测试指令集的性能特性。本技术的另一方面涉及一种系统,其包括一个或多个计算设备和存储由一个或多个计算设备可执行的指令的存储器,其中,所述指令包括:接收具有值的文本元素的初始序列;确定初始序列的第一文本元素的值的第一得分,其中,确定相对于文本元素的特定序列中的特定文本元素的值的得分与该特定文本元素的值跟随与定义格式一致的文本元素值的相同或类似序列多么频繁有关;确定初始序列的第二文本元素的值的第二得分,其中,在初始序列中的第一文本元素与第二文本元素之间存在第三文本元素;将第一得分和第二得分与阈值相比较;当第一得分和第二得分大于阈值时,生成具有值的文本元素的第二序列,其中,第二序列中的第一文本元素的值等于初始序列中的第一文本元素的值,第二序列中的第二文本元素的值等于初始序列中的第二文本元素的值,第二序列中的第三文本元素的值与初始序列中的第三文本元素的值不同,并且第三文本元素在序列中的第一文本元素与第二文本元素之间;利用一个或多个计算设备利用应用处理文本元素的第二序列;并且当应用处理文本元素值的所修改的序列时,利用一个或多个计算设备测试应用的性能特性。本系统的又一方面涉及一种系统,包括一个或多个计算设备和由一个或多个计算设备可执行的存储指令,其中,所述指令包括:接收文档,其包含文本字符的序列;确定文档的多个字符中的每个字符的得分,其中,基于字符的值、文档中的一个或多个先前的字符的值和利用符合定义格式的字符的序列来训练的机器学习部件来确定字符的得分;当字符的得分小于阈值时,将字符与有资格修改的字符集相关联;修改字符集中的字符中的至少一个;并且在修改字符集中的字符中的至少一个之后,随着应用处理文档,测量应用的性能。附图说明图1是根据本公开的各方面的系统的功能图。图2是根据本公开的各方面的流程图。图3是根据本公开的各方面的神经网络的训练的流程图。图4是测试文档的示例。图5是文本元素的可能性值的示例。图6是测试文档的示例。图7是根据本公开的各方面修改的测试文档的示例。图8是应用的性能特性的示例。图9是应用的性能特性的示例。图10是根据本公开的各方面的流程图。具体实施方式概述本技术涉及生成可以被用于测量计算设备的指令的性能的文本元素值的序列。通过示例并且如在图1和图2中所示,一个或多个计算设备110和120的系统100可以被用于标识与定义格式一致的文档(块210),利用文档训练递归神经网络(块220),使用网络标识测试文档中的文本元素的可预测性(块230),基于文本元素的可预测性修改文本文档(块240),利用测试文档测试应用(块250),并且取决于测试的结果,重复标识可预测性的过程,修改测试文档并且测试应用。在该方面中并且如在图3中所示,系统可以标识与特定定义格式一致的文档并且使用那些文档来训练机器学习部件。例如,系统可以利用从web服务器310-12所检索的文档320的语料库330来训练神经网络340。如在图4-6中所示,系统可以使用机器学习部件来标识测试文档内的文本元素的可预测性。例如,神经网络340可以返回得分值,其指示部分611内的字符(例如,字符串410)的可预测性相对较高,部分610中的第一字符的可预测性相对中等,并且部分630中的字符的可预测性相对较低。结果,系统可以将相对高的得分指派给部分610和630并且将相对低的得分指派给部分611。系统可以基于由神经网络所返回的文本元素得分,修改所标识的部分。例如并且如在图7中所示,可以改变、删除或添加部分610和630中的字符中的一个或多个。所修改的文档可以被提供给用于测试的计算机指令集。通过示例并且如在图8中所示,所修改的测试文档700可以被提供给用于测试的浏览器应用,并且系统可以测量浏览器的性能的各种特性——诸如浏览器的指令中的多少被执行或因此失败。系统可以基于性能确定测试得分,并且如在图9中所示,所修改的文档可以再次被分析、修改、测试和评分。如果测试得分增加,则文档可以连续地被分析、修改、测试并且评分直到其测试得分不增加为止。示例系统诸如上文所描述的系统可以包括一个或多个计算设备。例如,图1提供系统100的示例,其包括计算设备110和120。计算设备被配置成接受信息,基于该信息执行操作,并且作为响应采取动作或提供附加信息。计算设备可以是或包括能够接收表示被表达为数值的信息的一个或多个电气信号作为输入的处理器,根据指令基于输入确定数值,并且提供表示所确定的数值的本文档来自技高网
...

【技术保护点】
1.一种方法,包括:/n接收第一文本元素值序列,/n利用一个或多个计算设备确定跟随文本元素的值,其中,确定所述跟随文本元素的所述值包括/n基于所述第一文本元素值序列和利用根据定义格式排序的文本元素值的语料库来训练的递归神经网络来确定与第一文本元素值相关联的概率值,其中,所述概率值与基于由所述递归神经网络从所述语料库学习的概率模型的跟随所述第一文本元素值序列的所述第一文本元素值的可预测性有关,/n将所述概率值与有资格修改阈值进行比较,以及/n基于所述概率值是否超过所述有资格修改阈值来选择所述第一文本元素值或第二文本元素值作为所述跟随文本元素的所述值;/n在确定所述概率值未超过所述有资格修改阈值之后,利用所述一个或多个计算设备利用指令集处理第二文本元素值序列,所述第二文本元素值序列包括跟随有所选择的跟随文本元素的值的所述第一文本元素值序列;以及/n在所述指令集处理所述第二文本元素值序列时,利用所述一个或多个计算设备测试所述指令集的性能特性,其中,测试性能特性包括确定是否存在与所述指令集相关联的安全性问题。/n

【技术特征摘要】
20161123 US 15/360,5541.一种方法,包括:
接收第一文本元素值序列,
利用一个或多个计算设备确定跟随文本元素的值,其中,确定所述跟随文本元素的所述值包括
基于所述第一文本元素值序列和利用根据定义格式排序的文本元素值的语料库来训练的递归神经网络来确定与第一文本元素值相关联的概率值,其中,所述概率值与基于由所述递归神经网络从所述语料库学习的概率模型的跟随所述第一文本元素值序列的所述第一文本元素值的可预测性有关,
将所述概率值与有资格修改阈值进行比较,以及
基于所述概率值是否超过所述有资格修改阈值来选择所述第一文本元素值或第二文本元素值作为所述跟随文本元素的所述值;
在确定所述概率值未超过所述有资格修改阈值之后,利用所述一个或多个计算设备利用指令集处理第二文本元素值序列,所述第二文本元素值序列包括跟随有所选择的跟随文本元素的值的所述第一文本元素值序列;以及
在所述指令集处理所述第二文本元素值序列时,利用所述一个或多个计算设备测试所述指令集的性能特性,其中,测试性能特性包括确定是否存在与所述指令集相关联的安全性问题。


2.根据权利要求1所述的方法,还包括通过向所述递归神经网络提供所述第一文本元素值序列,从所述递归神经网络接收对所述跟随文本元素的所述值的预测,以及选择所预测的值作为所述第一文本元素值来确定所述第一文本元素值。


3.根据权利要求1所述的方法,其中,所述第一文本元素值是根据所述概率模型最可能跟随所述文本元素值序列的文本元素值。


4.根据权利要求1所述的方法,还包括生成包括所述第二文本元素值序列的测试文档,并将所述测试文档提供给所述指令集以用于处理。


5.根据权利要求4所述的方法,其中,所述指令集包括用于在浏览器中显示所述测试文档的指令。


6.根据权利要求1所述的方法,其中,所述定义格式是PDF,并且所述语料库从web服务器中检索。


7.根据权利要求1所述的方法,其中,所述性能特性包括由于处理所述第二文本元素值序列而产生的覆盖范围。


8.根据权利要求1所述的方法,其中,选择所述第一文本元素值或所述第二文本元素值作为所述跟随文本元素的所述值是取决于随机生成数的。


9.一种系统,所述系统包括:
一个或多个计算设备,以及
存储器,所述存储器存储能够由所述一个或多个计算设备执行的指令,
其中,能够由所述一个或多个计算设备执行的所述指令包括:
接收第一文本元素值序列,
确定跟随文本元素的值,其中,确定所述跟随文本元素的所述值包括
基于所述第一文本元素值序列和利用根据定义格式排序的文本元素值的语料库来训练的递归神经网络来确定与第一文本元素值相关联的概率值,其中,所述概率值与基于由所述递归神经网络从所述语料库学习的概率模型的跟随所述第一文本元素值序列的所述第一文本元素值的可预测性有关,
将所述概率值与有资格修改阈值进行比较,以及
基于所述概率值是否超过所述有资格修改阈值来选择所述第一文本元素值或第二文本元素值作为所述跟随文...

【专利技术属性】
技术研发人员:弗拉尼奥·伊万契奇拉斯洛·塞凯赖什多马戈伊·巴比克
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1