主权项 |
一种面向代码修改的概要及标签自动生成方法,其特征在于,包括如下步骤: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信息作为主题模型的输入,生成多个标签描述代码的修改。 |