[发明专利]跨项目编程任务上下文预测方法在审
申请号: | 202111371079.5 | 申请日: | 2021-11-18 |
公开(公告)号: | CN114115893A | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 万志远;王懿丰;杨小虎 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/215;G06F16/242;G06F16/2458 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 陈升华 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 项目 编程 任务 上下文 预测 方法 | ||
1.一种跨项目编程任务上下文预测方法,其特征在于,包括以下步骤:
步骤1:收集跨项目的交互历史,随后进行数据清洗,划分出工作阶段,最后将工作阶段与开发数据融合,形成跨项目工作阶段数据集;
步骤2:从跨项目工作阶段数据集中挖掘代码元素的结构关系,并基于此为每个工作阶段构建代码上下文模型,随后对模型进行抽象化处理,得到跨项目代码上下文模型库;
步骤3:从跨项目代码上下文模型中,挖掘拓扑逻辑模式,并对模式库按项目进行分类,以跨项目的模式库为输入,通过代码上下文模型预测算法,为目标项目的初始编程任务预测代码上下文。
2.根据权利1所述的跨项目编程任务上下文预测方法,其特征在于,步骤1中,数据清洗,划分出工作阶段,具体包括:
过滤重复交互历史、无关交互事件无效数据,随后将交互历史划分为工作阶段,并提取每个工作阶段访问到的元素,从中解析出代码元素。
3.根据权利1所述的跨项目编程任务上下文预测方法,其特征在于,步骤1中,将工作阶段与开发数据融合,具体包括:
分析工作阶段时间信息,结合识别出的代码仓库,定位该工作阶段对应的代码提交版本,获取开发编程数据。
4.根据权利1所述的跨项目编程任务上下文预测方法,其特征在于,步骤2中,挖掘代码元素的结构关系,并基于此为每个工作阶段构建代码上下文模型,具体包括:
结合工作阶段的代码元素以及从编程数据中挖掘出的结构关系,为每个工作阶段建立代码上下文模型,其中以节点表示代码元素,以有向边表示元素间的结构关系。
5.根据权利1所述的跨项目编程任务上下文预测方法,其特征在于,步骤2中,对模型进行抽象化处理,具体包括:
以注释形式为方法和类元素分配抽象角色,将该阶段代码上下文模型中的代码元素节点替换为抽象角色节点,以得到抽象化的模型;
当有代码元素未被分配到抽象角色时,该节点会从模型中删除,而与其连接的节点间的结构关系会被保留。
6.根据权利1所述的跨项目编程任务上下文预测方法,其特征在于,步骤3中,从抽象的代码上下文模型中挖掘跨项目的拓扑逻辑模式,并对模式库按项目进行分类,具体包括:
分别以各个项目所有的抽象模型以及最小支持度为输入,挖掘其频繁子图作为该项目的拓扑逻辑模式,以形成按项目特征分类的跨项目的拓扑逻辑模式库。
7.根据权利6所述的跨项目编程任务上下文预测方法,其特征在于,最小支持度限制了每个模式最小出现次数。
8.根据权利1所述的跨项目编程任务上下文预测方法,其特征在于,步骤3中,以跨项目的模式库为输入,通过代码上下文模型预测算法,为目标项目的初始编程任务预测代码上下文,具体包括:
以跨项目拓扑逻辑模式库、预测步长、初始访问到的代码元素为输入,首先以预测步长为深度,沿着源程序中节点的结构关系进行深度优先搜索,获取扩展的代码元素集并形成扩展图,并为其中所有节点分配抽象角色;
接着选取项目特征相近的特定的模式库,并提取扩展图的特定子图,对于每个子图,遍历对应模式库中的所有拓扑逻辑模式与之匹配,若匹配成功,则该子图为预测子图;
最后将所有预测子图归并,形成最终的预测代码上下文模型,并为其中的每个节点计算置信度confidence,对于节点v,其置信度confidencev=包含节点v的预测子图个数/预测子图总数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111371079.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:光伏清扫机器人与平单轴跟踪支架的配合结构
- 下一篇:振子及基站天线