[发明专利]一种基于历史修改模式的修改影响分析推荐方法及其系统有效
| 申请号: | 201811046982.2 | 申请日: | 2018-09-08 |
| 公开(公告)号: | CN109144564B | 公开(公告)日: | 2022-03-25 |
| 发明(设计)人: | 洪凯;陈湘萍;林谋广 | 申请(专利权)人: | 中山大学 |
| 主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/72 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 510006 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 历史 修改 模式 影响 分析 推荐 方法 及其 系统 | ||
1.一种基于历史修改模式的修改影响分析推荐方法,其特征在于,所述方法包括:
从版本控制系统上获取大量的提交版本,对每个提交版本的关键类进行计算,并根据类与类之间的耦合关系进行判定,获得历史修改模式;
获取通过用户输入的修改描述信息,计算所述修改描述信息与每个提交注释信息之间的相似性,选取最相似的提交中修改模式作为影响分析参考;
根据传统的基于耦合关系的影响分析获取初始影响集,结合所述历史修改模式,计算出最终的影响分析推荐修改列表来辅助修改影响分析。
2.根据权利要求1所述的一种基于历史修改模式的修改影响分析推荐方法,其特征在于,所述每个提交版本包括提交注释信息、程序修改前的版本、程序修改后的版本。
3.根据权利要求1所述的一种基于历史修改模式的修改影响分析推荐方法,其特征在于,所述获得历史修改模式的具体步骤包括:
从版本控制系统上挖掘大量提交信息作为提交库,只保留提交中的注释信息、程序修改前的版本、程序修改后的版本;
通过关键类判定技术对所述每个提交中的注释信息、程序修改前的版本、程序修改后的版本中抽取类与类之间的结构性耦合信息和代码修改信息进行判定一个类在修改提交中版本的关键程度;
根据关键类信息及关键类与其他类的耦合关系,进行这个提交修改的影响分析,得出关键类对其他类的修改影响列表,即历史修改模式。
4.根据权利要求3所述的一种基于历史修改模式的修改影响分析推荐方法,其特征在于,所述判定一个类在修改提交中版本的关键程度是通过代码耦合特征、代码修改特征和提交类型特征三个维度来衡量其中的关键程度。
5.根据权利要求3所述的一种基于历史修改模式的修改影响分析推荐方法,其特征在于,所述选取最相似的提交中修改模式作为影响分析参考的具体步骤包括:
获取所述提交库中所有的注释信息构建语料库,利用所述语料库对传统词频-逆文档频率度量和词向量模型进行预先训练,获得训练后的传统词频-逆文档频率度量和词向量模型;
获取通过用户输入的修改描述信息,通过自然语言描述规范进行描述修饰,获得修改描述信息;
获取修改描述信息通过训练后的传统词频-逆文档频率度量和词向量模型进行计算所述修改描述信息与提交库中所有提交注释信息之间的相似度,按相似度对所有提交进行排列,选取最相似的提交中修改模式作为影响分析参考,其中,排在最前面的提交可能包含着跟当前修改相似的修改模式。
6.根据权利要求1所述的一种基于历史修改模式的修改影响分析推荐方法,其特征在于,所述根据传统的基于耦合关系的影响分析技术获取初始影响集,主要通过出度和入度来度量一个类与其他类的耦合关系;定义出度为当前类对其他类的调用次数,用α表示,入度为其他类对当前类的调用次数,用β表示,
M(c,j)=αcj+βcj
其中c表示当前修改类,j表示一个其他类,αcj表示c对j的调用次数,βcj表示j对c的调用次数,M(c,j)表示两个类之间的耦合关系,对M(c,j)进行排序,得到初始影响集。
7.根据权利要求1所述的一种基于历史修改模式的修改影响分析推荐方法,其特征在于,所述计算出最终的影响分析推荐修改列表,取每个类在两个列表中位置的倒数之和作为每个类最终受影响的程度,其公式表达为:
其中rankj表示j这个类在影响分析推荐修改列表中的位置,posj1表示j在历史修改模式列表中的位置,posj2表示j在初始影响集中的位置。
8.一种基于历史修改模式的修改影响分析推荐系统,所述系统包括:
获取历史修改模式模块,用于从版本控制系统上获取大量的提交版本,对每个提交版本的关键类进行计算,并根据类与类之间的耦合关系进行判定;
相似性计算模块,用于获取通过用户输入的修改描述信息,计算所述修改描述信息与每个提交注释信息之间的相似性,选取最相似的提交中修改模式作为影响分析参考;
辅助模块,用于根据传统的基于耦合关系的影响分析获取初始影响集,结合所述历史修改模式,计算出最终的影响分析推荐修改列表来辅助修改影响分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811046982.2/1.html,转载请声明来源钻瓜专利网。





