发明名称 一种面向代码修改的概要及标签自动生成方法
摘要 本发明公开了一种面向代码修改的概要及标签自动生成方法。该方法根据提交的代码修改可以自动生成关于代码修改的描述信息,再根据生成的代码修改的描述信息生成内容概要,并且生成与代码修改相关的标签。所述方法为软件维护人员提供代码修改概要,方便软件开发人员阅读和理解软件历史修改,提高修改提交的质量,帮助开发人员更好地理解修改。
申请公布号 CN104991858A 申请公布日期 2015.10.21
申请号 CN201510325268.7 申请日期 2015.06.12
申请人 扬州大学 发明人 孙小兵;沈金凤;刘湘月;李斌;李云
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 南京钟山专利代理有限公司 32252 代理人 戴朝荣
主权项 一种面向代码修改的概要及标签自动生成方法,其特征在于,包括如下步骤:1)根据定义的代码修改类型,分析修改前后的代码以及包含bug‑report的代码,进行关联规则分析,得到关联规则结果;2)根据关联规则分析结果确定本次修改的类型;3)根据步骤2)确定的代码修改类型,运用定义的格式去描述代码修改,描述结果作为代码修改的why信息,描述了代码修改的原因;4)此步骤与步骤2)并行,提取代码修改前后的代码,即源系统,运用树差分算法将修改前后的代码以树的形式表现出来,识别定位出两份代码文件中的修改;5)分析步骤4)发生修改的代码片段,依据以下定义的方法修改类型,确定代码片段中方法的修改类型;所述对方法的修改类型定义如下:第一种是在方法体中增加或者删除某条语句;第二种是对方法进行重命名;第三种是增加,删除或者更新变量声明;第四种是权限的修改;第五种是方法含有的参数的改变;第六种是:找到发生方法修改所涉及到的包以及java文件;6)根据步骤5)确定的方法修改类型,运用定义的格式整合生成关于代码修改的what信息;7)结合步骤5)生成的what信息和步骤3)生成的why信息,对其进行内容概要;8)与步骤7同时进行的还有标签生成过程,运用了Tag‑LDA主题模型,将步骤5)生成的what信息和步骤3)生成的why信息作为主题模型的输入,生成多个标签描述代码的修改。
地址 225009 江苏省扬州市大学南路88号