用于半监督漏洞模式修订的方法、系统及存储介质技术方案

技术编号:35286944 阅读:19 留言:0更新日期:2022-10-22 12:31
公开了一种用于半监督漏洞模式修订的方法、系统及存储介质。操作可以包括从一个或更多个网站获得多个帖子,每个帖子包括源代码的包含对应错误的相应有漏洞片段。操作还可以包括从多个帖子生成多个漏洞模式,其中,每个相应漏洞模式与相应有漏洞片段对应并且指示对应漏洞场景,对应漏洞场景导致与相应漏洞模式对应的相应有漏洞片段的对应错误。操作还可以包括针对相应漏洞模式确定相似性,以及基于相似性确定来选择多个漏洞模式中的第一漏洞模式以供修订。此外,操作可以包括获得作为第一漏洞模式的修订版本的经修订漏洞模式。漏洞模式的修订版本的经修订漏洞模式。漏洞模式的修订版本的经修订漏洞模式。

【技术实现步骤摘要】
用于半监督漏洞模式修订的方法、系统及存储介质


[0001]本公开内容中讨论的实施方式涉及半监督漏洞模式修订。

技术介绍

[0002]软件开发者论坛提供了与开发软件程序例如修复软件程序中的错误 (也称为漏洞或错误)相关的自然语言描述和代码片段的丰富的混合知 识库。软件开发工具可以被配置成执行机器分析操作以对论坛的帖子进 行分析,从而识别哪些帖子可能与纠正特定错误相关。
[0003]本公开内容中要求保护的主题不限于解决任何不足或仅在诸如上述 那些环境的环境中操作的实施方式。相反,提供该
技术介绍
仅用于示出 可以实践本公开内容中描述的一些实施方式的一个示例


技术实现思路

[0004]操作可以包括从一个或更多个网站获得多个帖子(post),每个帖子 包括源代码的包含对应错误的相应有漏洞片段(buggy snippet)。操作还 可以包括从多个帖子生成多个漏洞模式(bug pattern),其中,每个相应 漏洞模式与相应有漏洞片段对应并且指示对应漏洞场景,对应漏洞场景 导致与相应漏洞模式对应的相应有漏洞片段的对应错误。操作还可以包 括针对相应漏洞模式确定相似性,以及基于相似性确定来选择多个漏洞 模式中的第一漏洞模式以供修订。此外,操作可以包括获得作为第一漏 洞模式的修订版本的经修订漏洞模式。
[0005]实施方式的目的和优点将至少通过权利要求书中特别指出的元素、 特征以及组合来实现和完成。
[0006]前面的总体描述和下面的详细描述均作为示例给出,并且是说明性 的而不是对所要求保护的本专利技术的限制。
附图说明
[0007]将通过使用附图以附加的明确性和细节来描述和说明示例实施方式, 在附图中:
[0008]图1A是表示与半监督漏洞模式修订相关的示例环境的图;
[0009]图1B示出了可以包括在图1A的漏洞模式库中的示例错误类型的示 例漏洞模式;
[0010]图2示出了可以用于生成漏洞模式的示例计算系统的框图;
[0011]图3是获得经修订漏洞模式的示例方法的流程图;
[0012]图4是自动生成漏洞模式的示例方法的流程图;
[0013]图5是确定与不同的漏洞模式类型相关联的出现率的示例方法的流 程图;
[0014]图6是确定与不同的未访问漏洞模式相关联的相异性得分的示例方 法的流程图;以及
[0015]图7是基于经修订漏洞模式聚集帖子的示例方法的流程图。
具体实施方式
[0016]软件开发者论坛可以包括帖子,在帖子中,用户可以发布与代码中 的错误(也称为“漏洞”)相关的问题并且其他用户可以发布关于如何纠 正错误的答案。此外,问题帖子可以包括源代码的包含错误的代码片段 (称为“有漏洞片段”)。有漏洞片段可以包括可能导致错误发生的对应 源代码的不同条件或特征。
[0017]一些自动化开发工具已经被配置成从有漏洞片段生成漏洞模式。漏 洞模式可以包括有漏洞片段的通用版本,其包括可能导致有漏洞片段中 所包括的不同类型错误的不同模式的场景(称为“漏洞场景”)。例如, 漏洞场景可以包括对应源代码的可能导致在对应软件程序中出现的相应 类型的漏洞的不同条件或特征。漏洞模式可以与对应漏洞场景相关,这 是因为相应漏洞模式可以包括创建可以与漏洞模式对应的漏洞场景的不 同条件或特征的编程元素和/或关系。
[0018]在这些或其他实施方式中,可以将漏洞模式与正在开发并且包括错 误的源代码(称为“被测代码”)进行比较以识别哪些漏洞模式可以对应 于被测代码中的哪些错误。在一些实施方式中,开发工具可以使用与被 测代码中的错误对应的漏洞模式来识别或生成针对错误的修复(也称为
ꢀ“
补丁”)。例如,对应于与被测代码中的特定错误对应的特定漏洞模式 的补丁可以被识别为针对该特定错误的潜在修复。
[0019]本公开内容中描述的一些实施方式涉及基于开发者论坛内的帖子来 生成和/或改进漏洞模式的库(称为“漏洞模式库”)的方法和系统。特别 地,操作可以包括通过半监督处理来改进自动生成的漏洞模式,在所述 半监督处理中,计算系统智能地选择帖子和对应的漏洞模式以供人类开 发者修订。对漏洞模式被“修订”的引用可以包括对漏洞模式的部分进 行更改或完全重写漏洞模式。如下文进一步详细讨论的,计算系统可以 被配置成以减少由人类开发者进行的工作中的冗余和/或增加已经经过修 订的不同类型的漏洞模式的多样性的方式来选择不同的帖子及对应的漏 洞模式。
[0020]智能选择可以使得计算系统能够生成比以其他方式实现的漏洞模式 库更有用且更精确的漏洞模式库。例如,由于开发者论坛上与不同错误 类型中的每种错误类型相关的大量帖子(例如,数百至数千个),人类不 可能能够对每个对应的漏洞模式进行改进和修订。这样,根据本公开内 容的一个或更多个实施方式,软件开发的
可以通过以计算系统 能够更好地编译漏洞模式库的方式配置计算系统来改进。另外,在一些 实施方式中,系统可以通过对可以用于识别对应补丁的漏洞模式进行改 进来促进软件程序的开发。
[0021]参照附图来说明本公开内容的实施方式。
[0022]图1A是表示根据本公开内容中描述的至少一个实施方式布置的与 漏洞模式的半监督修订相关的示例环境100的图。环境100可以包括网 络110、系统120、网站130和漏洞模式库150。
[0023]网络110可以包括被配置成用于在环境100的任何部件(例如,系 统120与网站130)之间传送信号的任何通信网络。网络110可以是有线 的或无线的。网络110可以具有多种配置,包括星形配置、令牌环配置 或其他合适的配置。此外,网络110可以包括局域网(LAN)、广域网(WAN) (例如因特网)和/或多个装置可以通过其通信的其他互联数据路径。在 一些实施方式中,网络110可以包括对等网络。网络110还可以耦接至 或包括电信网络的能够以各种不同的通信协议传送数据的部分。
[0024]在一些实施方式中,网络110包括或被配置成包括通信网络、通信网络、通信网络、通信网络、 无线保真(Wi

Fi)通信网络、ZigBee通信网络、HomePlug通信网络、 电力线通信网络、消息队列遥测传输(MQTT)通信网络、MQTT

传感 器(MQTT

S)通信网络、受限应用协议(CoAP)通信网络、表述性状 态传输应用协议接口(REST API)通信网络、可扩展消息传递和到场协 议(XMPP)通信网络、蜂窝通信网络、任何类似的通信网络或其任何组 合以用于发送和接收数据。在网络110中传送的数据可以包括经由以下 传送的数据:短消息服务(SMS)、多媒体消息服务(MMS)、超文本传 输协议(HTTP)、直接数据连接、无线应用协议(WAP)、电子邮件、智 能能源规范(SEP)、ECHONET Lite、OpenADR、或者可以通过系统120、 网站130、云服务器通信或网关实现的任何其他协议。
[0025本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于半监督漏洞模式修订的方法,包括:从一个或更多个网站获得多个帖子,每个帖子包括源代码的包含对应错误的相应有漏洞片段;从所述多个帖子生成多个漏洞模式,其中,每个相应漏洞模式与相应有漏洞片段对应并且指示对应漏洞场景,所述对应漏洞场景导致与所述相应漏洞模式对应的相应有漏洞片段的对应错误;针对所述相应漏洞模式确定相似性;基于相似性确定来选择所述多个漏洞模式中的第一漏洞模式以供修订;以及获得作为所述第一漏洞模式的修订版本的经修订漏洞模式。2.根据权利要求1所述的方法,其中,基于所述相似性确定来选择所述第一漏洞模式包括:基于所述相似性确定来确定所述第一漏洞模式的漏洞模式类型的出现率;以及基于所述第一漏洞模式的所确定的出现率来选择第一帖子。3.根据权利要求1所述的方法,还包括:针对所述经修订漏洞模式和所述多个帖子中的特定帖子确定经修订模式相似性;基于所述经修订模式相似性将所述经修订漏洞模式和所述特定帖子分组到模式集群中;以及基于所述特定帖子被包括在所述模式集群中,从选择考虑中移除所述特定帖子及其对应漏洞模式。4.根据权利要求1所述的方法,还包括:针对所述经修订漏洞模式和所述多个漏洞模式中的第二漏洞模式确定相异性;以及基于相异性确定来确定是否选择所述第二漏洞模式以供修订。5.根据权利要求4所述的方法,还包括:响应于所确定的相异性满足相异性阈值,确定选择所述第二漏洞模式以供修订。6.根据权利要求4所述的方法,还包括:响应于所确定的相异性不满足相异性阈值,确定不选择所述第二漏洞模式以供修订。7.根据权利要求4所述的方法,其中,还基于所述相似性确定来选择所述第二漏洞模式。8.一种用于半监督漏洞模式修订的系统,包括:一个或更多个处理器;以及一个或更多个非暂态计算机可读存储介质,其被配置成存储指令,所述指令响应于被所述一个或更多个处理器执行而使所述系统执行操作,所述操作包括:从一个或更多个网站获得多个帖子,每个帖子包括源代码的包含对应错误的相应有漏洞片段;从所述多个帖子生成多个漏洞模式,其中,每个相应漏洞模式与相应有漏洞片段对应并且指示对应漏洞场景,所述对应漏洞场景导致与所述相应漏洞模式对应的相应有漏洞片段的对应错误;针对所述相应漏洞模式确定相似性;基于相似性确定来选择所述多个漏洞模式中的第一漏洞模式以供修订;以及
获得作为所述第一漏洞模式的修订版本的经修订漏洞模式。9.根据权利要求8所述的系统,其中,基于所述相似性确定来选择所述第一漏洞模式包括:基于所述相似性确定来确定所述第一漏洞模式的漏洞模式类型的出现率;以及基于所述第一漏洞模式的所确定的出现率来选择第一帖子。10.根据权利要求8所述的系统,所述操作还包括:针对所述经修订漏洞模式和所述多个帖子中的特定帖子确定...

【专利技术属性】
技术研发人员:索纳尔
申请(专利权)人:富士通株式会社
类型:发明
国别省市:

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

1