数据驱动的代码注释自动生成方法研究

结题报告
项目介绍
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 }}
empty
内容获取失败,请点击重试
重试联系客服
title开始分析
查看分析示例
此项目为已结题,我已根据课题信息分析并撰写以下内容,帮您拓宽课题思路:

AI项目思路

AI技术路线图

相似国自然基金

{{ 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 }}
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了

AI项目解读示例

课题项目:调控A型流感病毒诱导IFN-β表达的机制研究

AI项目摘要:

本研究聚焦于TRIM2蛋白在A型流感病毒诱导的IFN-β表达中的调控机制。A型流感病毒是全球性健康问题,其感染可导致严重的呼吸道疾病。IFN-β作为关键的抗病毒因子,其表达水平对抗病毒防御至关重要。然而,TRIM2如何调控IFN-β的表达尚未明确。本研究假设TRIM2通过与病毒RNA或宿主因子相互作用,影响IFN-β的产生。我们将采用分子生物学、细胞生物学和免疫学方法,探索TRIM2与A型流感病毒诱导IFN-β表达的关系。预期结果将揭示TRIM2在抗病毒免疫反应中的作用,为开发新的抗病毒策略提供理论基础。该研究对理解宿主抗病毒机制具有重要科学意义,并可能对临床治疗流感病毒感染提供新的视角。

AI项目思路:

科学问题:TRIM2如何调控A型流感病毒诱导的IFN-β表达?
前期研究:已有研究表明TRIM2参与抗病毒反应,但其具体机制尚不明确。
研究创新点:本研究将深入探讨TRIM2在IFN-β表达中的直接作用机制。
技术路线:包括病毒学、分子生物学、细胞培养和免疫检测技术。
关键技术:TRIM2与病毒RNA的相互作用分析,IFN-β启动子活性检测。
实验模型:使用A型流感病毒感染的细胞模型进行研究。

AI技术路线图

        graph TD
          A[研究起始] --> B[文献回顾与假设提出]
          B --> C[实验设计与方法学准备]
          C --> D[A型流感病毒感染模型建立]
          D --> E[TRIM2与病毒RNA相互作用分析]
          E --> F[TRIM2对IFN-β启动子活性的影响]
          F --> G[IFN-β表达水平测定]
          G --> H[TRIM2功能丧失与获得研究]
          H --> I[数据收集与分析]
          I --> J[结果解释与科学验证]
          J --> K[研究结论与未来方向]
          K --> L[研究结束]
      
关闭
close
客服二维码