-
题名位置结构导向的多模态代码摘要生成方法
- 1
-
-
作者
张学君
侯霞
-
机构
北京信息科技大学计算机学院
-
出处
《北京信息科技大学学报(自然科学版)》
2024年第2期43-49,共7页
-
基金
北京市自然科学基金青年项目(4224090)。
-
文摘
针对软件维护中的自动代码摘要任务,提出了一种创新的模型,旨在解决现有方法在保留源代码语义结构信息方面的不足。该模型采用图神经网络和Transformer技术,以更全面地捕捉代码的语义信息和结构信息。此外,采用字节对编码算法来处理未登录词问题,并通过四元组的形式保留抽象语法树的结构信息。这样的组合使得模型在处理源代码时不仅能够全面地捕捉代码的语义特征,还能够准确地学习到代码的语法结构。在真实Java数据集上的实验结果表明,该模型在BLEU、METEOR和ROUGE指标上均优于基线模型,从而验证了其在生成更准确代码摘要方面的有效性。
-
关键词
自动代码摘要
字节对编码
抽象语法树
TRANSFORMER
-
Keywords
automatic code summarization
byte pair encoding
abstract syntax tree
Transformer
-
分类号
TP391
[自动化与计算机技术—计算机应用技术]
-
-
题名基于关键词的代码自动摘要
被引量:2
- 2
-
-
作者
张世琨
谢睿
叶蔚
陈龙
-
机构
北京大学软件工程国家工程研究中心
北京大学软件与微电子学院
-
出处
《计算机研究与发展》
EI
CSCD
北大核心
2020年第9期1987-2000,共14页
-
文摘
代码摘要(code summary)是对一段源代码简短的自然语言描述,代码自动摘要(code summarization)技术通过自动化地生成代码摘要辅助开发者更好地理解程序代码,该技术在许多软件开发活动中都具有重要的应用价值.代码自动摘要同时结合了机器翻译和文本摘要2个任务,如何更好地对代码建模以及如何更好地筛选代码中的关键信息是代码摘要所面临的主要挑战.受人类写摘要时的习惯和相关研究的启发,提出了一种基于关键词的代码自动摘要方法(keyword-based source code summarization,KBCoS).该方法将函数签名和API(application programming interface)调用视为关键词,并利用关键词序列来优化解码器注意力机制中的权重分布,使模型在生成摘要时更集中地关注代码中的重要信息.此外,为克服代码符号词汇表过大的问题,提出了符号部分拆分算法,即当符号不在词表中时,依据常用命名规则将符号拆成子符号的序列.该算法简单有效,能很好地平衡代码符号序列长度和未登录词数目之间的矛盾.选用了带有注意力机制的序列到序列模型作为基准模型,并在公开的Java代码摘要数据集上进行了评估.实验表明,基于关键词的注意力机制和部分拆分算法在BLEU-4,METEOR,ROUGE-L这3个评测指标上均能提升基准模型的表现.同时,在另一个Python数据集上也取得了一致的实验结果.最后,将KBCoS与现有模型相结合,在Java数据集上取得了当前最好的结果,该结果表明KBCoS也能改进现有的其他模型.评测结果和注意力权重的热力图都表明了KBCoS的有效性.
-
关键词
代码自动摘要
未登录词
注意力机制
关键词
编码器解码器
序列到序列
-
Keywords
code summarization
out-of-vocabulary(OOV)
attention mechanism
keyword
encoder-decoder
sequence to sequence(Seq2Seq)
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于分层表示和上下文增强的类摘要生成技术
被引量:1
- 3
-
-
作者
陈豪伶
虞慧群
范贵生
李明辰
黄子杰
-
机构
华东理工大学计算机科学与工程系
-
出处
《计算机研究与发展》
EI
CSCD
北大核心
2024年第2期307-323,共17页
-
基金
国家自然科学基金项目(62372174,62276097)
大数据流通与交易技术国家工程实验室课题研究计划、上海市促进高质量发展专项资金项目(2021-GYHLW-01007)。
-
文摘
代码摘要是源代码的自然语言解释,高质量的代码摘要有助于提高开发人员程序理解效率.近年来,代码自动摘要的研究集中在为方法粒度的代码片段生成摘要.然而,对于面向对象的语言,例如Java,类才是项目的基本组成单元.基于上述问题,提出一种基于分层表示和上下文增强的类摘要生成方法HRCE(hierarchical representation and context enhancement),并构建了一个包含358 992个?Java类,上下文,摘要?数据对的类摘要数据集.HRCE使用代码精简策略去除类的非关键代码,从而缩短代码长度.然后,对类的层次结构,包括类签名、属性和方法分别进行建模,获得类的语义信息和层次结构信息.此外,从项目中抽取父类的签名及摘要来刻画类在项目中依赖的上下文.实验表明,基于分层表示和上下文增强的生成模型能够表征代码的语义和层次结构,并可以从目标类的内部和外部获取信息. HRCE在BLEU,METEOR,ROUGE-L等评估指标上超过了所有基准模型.
-
关键词
代码自动摘要
分层表示
上下文增强
深度学习
类摘要
-
Keywords
automatic code summarization
hierarchical representation
context enhancement
deep learning
class summarization
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-