[发明专利]对源代码建模的方法和系统以及使用数据模型的方法有效
申请号: | 201710239359.8 | 申请日: | 2014-02-04 |
公开(公告)号: | CN107273109B | 公开(公告)日: | 2020-11-10 |
发明(设计)人: | J·范高;S.F.耶奇;M.J.弗洛姆贝格;A.沙利;G.S.韦斯特;J.A.丹尼特;L.埃斯佩霍尔特;R.A.布朗斯坦 | 申请(专利权)人: | 谷歌有限责任公司 |
主分类号: | G06F8/75 | 分类号: | G06F8/75 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 金玉洁 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 建模 方法 系统 以及 使用 数据模型 | ||
1.一种用于对源代码建模的方法,包括:
接收包括不具有源位置的代码段的源代码;
对所接收的源代码编索引;
根据经编索引的源代码创建数据模型,所述数据模型包括表示代码元素的多个节点以及用于元素之间的关系的多个边;
确定要与每个节点关联的源位置;
响应于将第一代码段和第二代码段识别为隐藏或隐式代码段,创建用于所述第一代码段和第二代码段的虚构节点,其中所述虚构节点的内容基于包括在所述数据模型中的边关系数据对代码行为建模;以及
将所创建的虚构节点指派为与所述第一代码段和第二代码段的节点关联的源位置。
2.根据权利要求1所述的方法,其中特别地注释虚构节点以将虚构节点同所述数据模型中的其他节点区分开来。
3.根据权利要求1所述的方法,还包括向用户提供所述数据模型。
4.根据权利要求3所述的方法,其中经由API向用户提供所述数据模型。
5.根据权利要求3所述的方法,其中经由用户界面向用户提供所述数据模型。
6.根据权利要求3所述的方法,其中经由命令行代码向用户提供所述数据模型。
7.根据权利要求1所述的方法,还包括在使用所述隐藏或隐式第一代码段和第二代码段的源代码的节点与表示所创建的虚构的节点之间的边。
8.一种用于使用表示不具有源位置的代码段的数据模型的方法,包括:
请求包括不具有源位置的第一代码段和第二代码段的代码的数据模型;
接收包括不具有源位置的第一代码段和第二代码段的虚构节点的所请求的数据模型,其中所述虚构节点的内容基于包括在所述数据模型中的边关系数据对代码行为建模;以及
向最终用户显示所述第一代码段和第二代码段的所述虚构节点。
9.根据权利要求8所述的方法,其中所接收的数据模型包含关于虚构节点的元数据。
10.根据权利要求9所述的方法,其中所述元数据用于向最终用户示出或者隐藏所述虚构节点。
11.根据权利要求9所述的方法,其中所述元数据用于显示代码段是虚构这一信息。
12.根据权利要求9所述的方法,其中所述元数据用于显示代码段包含虚构这一信息。
13.根据权利要求8所述的方法,其中数据模型使用应用编程接口来请求。
14.一种用于对源代码建模的系统,包括:
一个或多个处理设备;以及
存储指令的一个或多个存储设备,所述指令在由所述一个或多个处理设备执行时,引起所述一个或多个处理设备:
接收包括不具有源位置的代码段的源代码;
对所接收的源代码编索引;
根据经编索引的源代码创建数据模型,所述数据模型包括表示代码元素的多个节点以及用于元素之间的关系的多个边;
确定要与每个节点关联的源位置;
响应于将所述代码段中的一个代码段识别为隐藏或隐式代码段,创建用于所述代码段的虚构节点,其中所述虚构节点的内容基于包括在所述数据模型中的边关系数据对代码行为建模;以及
将所创建的虚构节点指派为与所述代码段的节点以及与被识别为隐藏或隐式代码段的另一代码段的节点关联的源位置。
15.根据权利要求14所述的系统,其中特别地注释虚构节点以将虚构节点同所述数据模型中的其他节点区分开来。
16.根据权利要求14所述的系统,还包括向用户提供所述数据模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710239359.8/1.html,转载请声明来源钻瓜专利网。