数据驱动的代码注释自动生成方法研究
项目介绍
AI项目解读
基本信息
- 批准号:61902441
- 项目类别:青年科学基金项目
- 资助金额:29.0万
- 负责人:
- 依托单位:
- 学科分类:F0203.软件理论、软件工程与服务
- 结题年份:2022
- 批准年份:2019
- 项目状态:已结题
- 起止时间:2020-01-01 至2022-12-31
- 项目参与者:--
- 关键词:
项目摘要
To meet the requirements of software code reuse and maintenance and reduce the burden of developers, automatic code comment generation has become a research hotspot in recent years. This project intends to propose a data-driven automatic code comment generation method. Specifically, it is divided into three sub-tasks, that is, the identification of core code snippets within a function, the automatic generation of function block comment, and the automatic generation of function header comment. In the first task, automatically identifying the snippets that need to be commented in a function. The snippets that need to be commented are called the core snippets of the function. In the second task, the core code snippets are used as commenting objects, and a learning-based algorithm is used to generate the function block comments. In the third task, we focus on the influence of core code snippet on the generation of function header comment, and study the automatic generation method of function header comments based on the weight of code snippets. The combination of task 1 and task 2 can make the block comment generation algorithm more intelligent and further reduce the burden on programmers. During block comment generation, task 1 can automatically determine which code snippets need to be commented, thus avoiding the programmer's involvement in the decision. The combination of task 1 and task 3 can further highlight the role of the core code snippets in the function header comment generation and improve the accuracy of the function header comment generation algorithm.
为了满足软件代码复用和维护上的需求,减轻开发人员的工作负担,自动生成代码注释成为了近年来的研究热点。本项目拟提出一种数据驱动的代码注释自动生成方法。具体分为三个子任务,即:函数内部核心代码片段识别、函数块注释自动生成、函数头注释自动生成。在任务一中,自动识别函数内部需要被注释的代码片段。需要被注释的代码片段被称为函数的核心代码片段。在任务二中,将核心代码片段作为注释对象,使用基于学习的算法自动生成函数块注释。在任务三中,重点考虑核心代码片段对于生成函数头注释的影响,研究基于代码片段权重的函数头注释自动生成方法。任务一与任务二的结合可以使函数块注释生成算法更加智能,进一步减轻程序员的负担。在块注释生成过程中,任务一可以自动决定函数内部需要添加注释的代码片段,从而避免了让程序员参与决策。任务一与任务三结合可以进一步凸显核心代码片段在函数头注释生成过程中的作用,提升函数头注释生成算法的准确率。
结项摘要
为了满足软件代码复用和维护上的需求,减轻开发人员的工作负担,项目面向自动生成代码注释展开了研究。项目按计划顺利执行,完成申请书中规定的内容。项目取得多项重要研究进展,包括实现了一种自动识别函数内部需要被注释的代码片段(核心代码片段)算法;实现了一种面向核心代码片段自动生成函数块注释的方法。收集多个代码注释数据集,实现多种代码注释自动生成算法。在CCF A及B类期刊和会议上发表相关论文7篇,其中CCF A类论文2篇,CCF B论文5篇(SCI论文6篇,EI论文1篇)。申请国家发明专利 2项,申请软件著作权 2项。项目的完成,其科学意义在于能够自动生成函数内部注释(已有方法只能自动生成函数头部注释)。项目产生的成果具有一定的应用前景,相关注释自动生成算法可以集成到Eclipse这样的IDE当中,帮助程序员在编写代码的时候自动生成代码注释。同时,对于源代码不可用的场景下,我们的方法也可以基于字节码生成代码注释,用于判定字节码是否实现了用户期望的程序功能。
项目成果
期刊论文数量(6)
专著数量(0)
科研奖励数量(0)
会议论文数量(1)
专利数量(2)
Code Review Knowledge Perception: Fusing Multi-Features for Salient-Class Location
代码评审知识感知:融合多种特征实现显着类定位
- DOI:10.1109/tse.2020.3021902
- 发表时间:2020
- 期刊:IEEE Transactions on Software Engineering
- 影响因子:7.4
- 作者:Yuan Huang;Nan Jia;Xiangping Chen;Kai Hong;Zibin Zheng
- 通讯作者:Zibin Zheng
Reviewing Rounds Prediction for Code Patches
检查代码补丁的回合预测
- DOI:--
- 发表时间:2021
- 期刊:Empirical Software Engineering
- 影响因子:4.1
- 作者:Yuan Huang;Xingjian Liang;Zhihao Chen;Nan Jia;Xiapu Luo;Xiangping Chen;Zibin Zheng;Xiaocong Zhou
- 通讯作者:Xiaocong Zhou
Learning Human-Written Commit Messages to Document Code Changes
学习人工编写的提交消息来记录代码更改
- DOI:10.1007/s11390-020-0496-0
- 发表时间:2020
- 期刊:Journal of Computer Science and Technology
- 影响因子:1.9
- 作者:Yuan Huang;Nan Jia;Hao-Jie Zhou;Xiangping Chen;Zibin Zheng;Ming-Dong Tang
- 通讯作者:Ming-Dong Tang
Towards automatically generating block comments for code snippets
自动生成代码片段的块注释
- DOI:10.1016/j.infsof.2020.106373
- 发表时间:2020
- 期刊:Information & Software Technology
- 影响因子:3.9
- 作者:Yuan Huang;Huang Shaohao;Huanchao Chen;Xiangping Chen;Zibin Zheng;Xiapu Luo;Nan Jia;Xinyu Hu;Xiaocong Zhou
- 通讯作者:Xiaocong Zhou
Change-Patterns Mapping: A Boosting Way for Change Impact Analysis
变革模式映射:变革影响分析的促进方法
- DOI:10.1109/tse.2021.3059481
- 发表时间:2021
- 期刊:IEEE Transactions on Software Engineering
- 影响因子:7.4
- 作者:Yuan Huang;Jinyu Jiang;Xiapu Luo;Xiangping Chen;Zibin Zheng;Nan Jia;Gang Huang
- 通讯作者:Gang Huang
数据更新时间:{{ journalArticles.updateTime }}
{{
item.title }}
{{ item.translation_title }}
- DOI:{{ item.doi || "--"}}
- 发表时间:{{ item.publish_year || "--" }}
- 期刊:{{ item.journal_name }}
- 影响因子:{{ item.factor || "--"}}
- 作者:{{ item.authors }}
- 通讯作者:{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:{{ item.authors }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:{{ item.authors }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:{{ item.authors }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:{{ item.authors }}
数据更新时间:{{ patent.updateTime }}
其他文献
融合结构与语义特征的代码注释决策支持方法
- DOI:--
- 发表时间:--
- 期刊:软件学报
- 影响因子:--
- 作者:黄袁;贾楠;周强;陈湘萍
- 通讯作者:陈湘萍
基于树编辑距离的工作流距离度量方法
- DOI:--
- 发表时间:2012
- 期刊:计算机应用
- 影响因子:--
- 作者:付晓东;黄袁;刘晓燕;代志华
- 通讯作者:代志华
基于最大熵原理的Web服务QoS概率分布获取
- DOI:--
- 发表时间:2012
- 期刊:计算机应用
- 影响因子:--
- 作者:代志华;付晓东;黄袁;贾楠
- 通讯作者:贾楠
基于关键类判定的代码提交理解辅助方法
- DOI:10.13328/j.cnki.jos.005225
- 发表时间:2017
- 期刊:软件学报
- 影响因子:--
- 作者:黄袁;刘志勇;陈湘萍;熊英飞;罗笑南
- 通讯作者:罗笑南
一种混合QoS感知的Web服务选择方法
- DOI:--
- 发表时间:2012
- 期刊:计算机应用与软件
- 影响因子:--
- 作者:付晓东;代志华;贾楠;黄袁
- 通讯作者:黄袁
其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:{{ item.doi || "--" }}
- 发表时间:{{ item.publish_year || "--"}}
- 期刊:{{ item.journal_name }}
- 影响因子:{{ item.factor || "--" }}
- 作者:{{ item.authors }}
- 通讯作者:{{ item.author }}
内容获取失败,请点击重试
查看分析示例
此项目为已结题,我已根据课题信息分析并撰写以下内容,帮您拓宽课题思路:
AI项目摘要
AI项目思路
AI技术路线图
请为本次AI项目解读的内容对您的实用性打分
非常不实用
非常实用
1
2
3
4
5
6
7
8
9
10
您认为此功能如何分析更能满足您的需求,请填写您的反馈:
相似国自然基金
{{ item.name }}
- 批准号:{{ item.ratify_no }}
- 批准年份:{{ item.approval_year }}
- 资助金额:{{ item.support_num }}
- 项目类别:{{ item.project_type }}
相似海外基金
{{
item.name }}
{{ item.translate_name }}
- 批准号:{{ item.ratify_no }}
- 财政年份:{{ item.approval_year }}
- 资助金额:{{ item.support_num }}
- 项目类别:{{ item.project_type }}