源码函数的样本提取方法、装置、计算设备及存储介质制造方法及图纸

技术编号:17248275 阅读:20 留言:0更新日期:2018-02-11 06:24
本发明专利技术公开了一种源码函数的样本提取方法、装置、计算设备、计算机存储介质以及基于上述源码函数的样本提取方法得到的样本库而执行的代码搜索方法、装置、计算设备、计算机存储介质。源码函数的样本方法包括:获取源码文件;解析所述源码文件,分割得到至少一个函数文件;提取所述至少一个函数文件的函数特征;将包含所述至少一个函数文件的基本信息和函数特征的函数样本存入样本库。通过源码函数的样本提取方法能够将源码文件中的函数单独提取出来,以函数的基本信息和特征来标识函数,将源码文件简化为包括函数信息和特征的函数样本,可以方便快捷地获取函数的相关信息。

【技术实现步骤摘要】
源码函数的样本提取方法、装置、计算设备及存储介质
本专利技术涉及计算机
,具体涉及一种源码函数的样本提取方法、装置、计算设备及计算机存储介质以及一种函数搜索方法、装置、计算设备及计算机存储介质。
技术介绍
目前,互联网的迭代速度非常快,为了满足用户的需求,一些公司会提供多种互联网产品以供用户使用,每一个产品项目都会有很多代码,代码中包括若干的函数,并且一些函数会在不同的项目中重复使用,因此会存在很多潜在的bug,当发现了一个函数有bug时,需要将所有使用了该函数的所有项目进行修改,但往往没有一个可靠的依据可以检查到其他哪些项目中也使用了该函数,不能将所有使用该函数的项目一并进行修改,在修复这些bug的时候会面临较大的工作量。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的源码函数的样本提取方法、装置、计算设备及计算机存储介质以及代码搜索方法、装置、计算设备及计算机存储介质。根据本专利技术的一个方面,提供了一种源码函数的样本提取方法,包括:获取源码文件;解析所述源码文件,分割得到至少一个函数文件;提取所述至少一个函数文件的函数特征;将包含所述至少一个函数文件的基本信息和函数特征的函数样本存入样本库。根据本专利技术的另一方面,提供了一种源码函数的样本提取装置,包括:源码获取模块,适于获取源码文件;分割模块,适于解析所述源码文件,分割得到至少一个函数文件;函数特征提取模块,适于提取所述至少一个函数文件的函数特征;入库模块,适于将包含所述至少一个函数文件的基本信息和函数特征的函数样本存入样本库。根据本专利技术的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述源码函数的样本提取方法对应的操作。根据本专利技术的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述源码函数的样本提取方法对应的操作。根据本专利技术的一个方面,提供了一种代码搜索方法,所述方法基于上述源码函数的样本提取方法得到的样本库而执行,包括:获取待搜索的代码;解析所述代码,提取所述代码的特征值;依据所述代码的特征值,在所述样本库查询与所述代码匹配的函数样本;将查询到的所述函数样本提供前端页面进行展示。根据本专利技术的另一个方面,提供了一种代码搜索装置,包括:代码获取模块,适于获取待搜索的代码;代码特征提取模块,适于解析所述代码,提取所述代码的特征值;匹配模块,适于依据所述代码的特征值,在所述样本库查询与所述代码匹配的函数样本;显示模块,适于将查询到的所述函数样本提供前端页面进行展示。根据本专利技术的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述代码搜索方法对应的操作。根据本专利技术的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述代码搜索方法对应的操作。根据本专利技术提供的源码函数的样本提取方法,获取源码文件;解析源码文件,分割得到至少一个函数文件;提取至少一个函数文件的函数特征;将包含至少一个函数文件的基本信息和函数特征的函数样本存入样本库。通过提取源码文件中的函数,用特征来标识函数,形成函数样本,使得源码文件中包含的函数信息被单独提取出来,将源码文件简化为包括函数信息和特征的函数样本。根据上述源码函数的样本提取方法所得到的函数样本库,提出了一种代码搜索的技术方案,根据本专利技术提供的代码搜索的方法,获取待搜索的代码;解析代码,提取代码的特征值;依据代码的特征值,在所述样本库查询与代码匹配的函数样本;将查询到的函数样本提供前端页面进行展示,通过对待搜索的代码进行特征提取,用特征值来标识待搜索的代码,在上述函数样本库中进行搜索,对待搜索代码的特征值和函数样本库中的函数样本的特征进行匹配,由此可以得到一种高效的函数搜索方法,获取到与待搜索的代码相关的函数信息。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的源码函数的样本提取方法的流程图;图2示出了根据本专利技术另一个实施例的源码函数的样本提取方法的流程图;图3示出了根据本专利技术又一个实施例的源码函数的样本提取装置的功能框图;图4示出了根据本专利技术实施例的一种计算设备的结构示意图;图5示出了根据本专利技术另一个实施例的代码搜索方法的流程图;图6示出了根据本专利技术又一个实施例的代码搜索方法的流程图;图7示出了根据本专利技术再一个实施例的代码搜索装置的功能框图;图8示出了根据本专利技术实施例的代码搜索计算设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。一些公司会提供多种互联网产品以供用户使用,每一个产品项目都会有很多代码,代码中包括若干的函数,当要从很多个项目的代码中获取一个函数的基本信息时比较复杂的,本实施例则提供一种源码函数的样本提取方法,通过该方法可以实现将源码文件中的函数分割出来,并且以简洁明了的方式标识源码文件中的函数,能够直观地获得函数的相关信息以及特征。图1示出了根据本专利技术一个实施例的源码函数的样本提取方法的流程图。如图1所示,该方法包括以下步骤:步骤S101,获取源码文件。从各种途径获取需要进行函数样本提取的源码文件。步骤S102,解析源码文件,分割得到至少一个函数文件。采用函数分割法对获取到的源码文件进行解析,将源码文件包含的函数分割出来,得到至少一个函数文件。步骤S103,提取至少一个函数文件的函数特征。通过对函数文件的函数特征进行提取,用函数特征来标识源码文件中的函数,由于函数所对应的函数特征是唯一的,不同函数的特征彼此不相同,因此通过提取函数文件的函数特征,能够将一个函数也即一段代码简化为函数特征。步骤S104,将包含至少一个函数文件的基本信息和函数特征的函数样本存入样本库。例如将一个公司的所有项目工程的源码文件都进行函数特征提取,由于相同函数的函数特征一致,如果仅将函数特征作为函数样本写入样本库,相关人员在查询该函数时,还是不能获知到函数的具体信息,比如函数所在的路径、函数所在的项目名称,因此还需结合函数的基本信息对函数加以区分。本实施例提供的源码函数的样本提取方法,通过获取源码文件,解析源码文件,分割得到源码文件中包含的本文档来自技高网...
源码函数的样本提取方法、装置、计算设备及存储介质

【技术保护点】
一种源码函数的样本提取方法,包括:获取源码文件;解析所述源码文件,分割得到至少一个函数文件;提取所述至少一个函数文件的函数特征;将包含所述至少一个函数文件的基本信息和函数特征的函数样本存入样本库。

【技术特征摘要】
1.一种源码函数的样本提取方法,包括:获取源码文件;解析所述源码文件,分割得到至少一个函数文件;提取所述至少一个函数文件的函数特征;将包含所述至少一个函数文件的基本信息和函数特征的函数样本存入样本库。2.根据权利要求1所述的方法,其中,所述获取源码文件进一步包括:从代码仓库中获取源码文件。3.一种代码搜索方法,所述方法基于依据上述权利要求1-2中任一项所述的方法得到的样本库而执行,所述方法包括:获取待搜索的代码;解析所述代码,提取所述代码的特征值;依据所述代码的特征值,在所述样本库查询与所述代码匹配的函数样本;将查询到的所述函数样本提供前端页面进行展示。4.一种源码函数的样本提取装置,包括:源码获取模块,适于获取源码文件;分割模块,适于解析所述源码文件,分割得到至少一个函数文件;函数特征提取模块,适于提取所述至少一个函数文件的函数特征;入库模块,适于将包含所述至少一个函数文件的基本信息和函数特征的函数样本存入样本库。5.根据权利要求4所述的装置,其中,所述源码获取模块进一步适于:从代码仓库中获取源码文件。6.一种代码搜索装置,包括:代码获取模块,适于获取待搜索的代码...

【专利技术属性】
技术研发人员:黄威张娜张杰
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

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

1