[发明专利]一种获取开源代码库中函数的向量的方法和系统有效

专利信息
申请号: 201710278759.X 申请日: 2017-04-25
公开(公告)号: CN107102861B 公开(公告)日: 2019-09-03
发明(设计)人: 李海峰;张文泽;邓敏 申请(专利权)人: 中南大学
主分类号: G06F8/70 分类号: G06F8/70
代理公司: 北京路浩知识产权代理有限公司 11002 代理人: 王莹
地址: 410083 湖南*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 获取 源代码 函数 向量 方法 系统
【权利要求书】:

1.一种获取开源代码库中函数的向量的方法,其特征在于,包括:

S1、提取开源代码库中的函数调用图,所述函数调用图用于描述各函数间的调用关系;

S2、基于随机漫步模型,获得所述函数调用图中各函数的函数调用序列;以及

S3、将所述函数调用序列作为嵌入模型的输入项,获得各函数的向量;

所述步骤S2包括:

S2.1、将所述函数调用图中的起始函数作为函数调用序列的第一节点,设置函数调用序列的步长;

S2.2、基于第一节点与其他节点间的最短距离、权重、抽样参数、回溯参数,以及所述第一节点与其他节点是否属于节点边的结合,获得第一节点后的最短转移概率的节点,作为第二节点;以及

S2.3、基于第二节点与其他节点间的最短距离、权重、抽样参数、回溯参数以及第二节点与其他节点是否属于节点边的结合,获得第二节点后的最短转移概率的节点,作为第三节点,直至随机漫步的长度符合所述函数调用序列的步长,将所述步长的转移轨迹作为所述函数调用序列。

2.如权利要求1所述的获取开源代码库中函数的向量的方法,其特征在于,所述步骤S1包括:

基于文档生成工具,获得所述开源代码库的帮助信息文档,所述帮助信息文档中包括函数信息、函数调用图信息以及函数注释信息。

3.如权利要求2所述的获取开源代码库中函数的向量的方法,其特征在于,所述文档生成工具为Doxygen文档生成器。

4.如权利要求1所述的获取开源代码库中函数的向量的方法,其特征在于,所述步骤S3包括:

S3.1、将所述函数调用序列作为训练集,通过最大化所述训练集中的正样本的概率,同时最小化负样本概率,获取任意一个正样本的条件概率;

S3.2、基于任意一个正样本的条件概率、上下文窗口以及所述函数调用序列的步长,获得SGNS目标函数;以及

S3.3、将所述函数调用序列作为嵌入模型的输入项,通过最大化所述SGNS目标函数,将所述嵌入模型的输出作为各函数的向量表示。

5.一种获取开源代码库中函数的向量的系统,其特征在于,包括:

调用图模块,用于提取开源代码库中的函数调用图,所述函数调用图用于描述各函数间的调用关系;

调用序列模型,用于基于随机漫步模型,获得所述函数调用图中各函数的函数调用序列;以及

向量模块,用于将所述函数调用序列作为嵌入模型的输入项,获得各函数的向量;

所述调用序列模型,具体用于:

将所述函数调用图中的起始函数作为函数调用序列的第一节点,设置函数调用序列的步长;

基于第一节点与其他节点间的最短距离、权重、抽样参数、回溯参数,以及所述第一节点与其他节点是否属于节点边的结合,获得第一节点后的最短转移概率的节点,作为第二节点;以及

基于第二节点与其他节点间的最短距离、权重、抽样参数、回溯参数以及第二节点与其他节点是否属于节点边的结合,获得第二节点后的最短转移概率的节点,作为第三节点,直至随机漫步的长度符合所述函数调用序列的步长,将所述步长的转移轨迹作为所述函数调用序列。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710278759.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top