基于结构感知图神经网络的代码注释生成方法

来源 :广东工业大学 | 被引量 : 0次 | 上传用户:fircold
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码注释主要用于描述程序代码所提供的功能,在软件开发期间和项目维护期间均起到了极为重要的作用。然而,在实际开发过程中,由于人工编写代码注释的时间成本较高,导致大量的程序代码出现注释丢失或注释不匹配的问题。代码注释生成主要将结构化程序代码自动转换为能够描述该程序代码功能的自然语言注释,在一定程度上减少了软件开发人员编写代码注释所需的工作量。一些研究工作直接将程序代码表示为源代码序列的形式,并采用循环神经网络作为编码器对源代码序列进行建模。但是,程序代码是一种结构化数据,其蕴含着程序代码特有的结构信息,这些结构信息对正确理解程序代码的功能有着重要的影响。虽然这些方法在一定程度上提取到了程序代码的序列信息,但无法考虑到程序代码中复杂的结构信息。为了提取程序代码中的结构信息,部分研究工作将程序代码表示为抽象语法树,并采用长短期记忆网络或树形长短期记忆网络对抽象语法树进行编码。然而,基于长短期记忆网络的方法无法很好地考虑抽象语法树中节点的连接关系。基于树形长短期记忆网络的方法更加关注从叶子节点到根节点的信息传播,但忽略了反方向的信息传播。因此,本文基于图神经网络的相关编码思路,在程序理解方面展开了研究,并取得了以下两方面的研究成果:(1)本文提出了一种基于结构感知图神经网络的代码注释生成模型。该模型的结构感知图编码器以程序代码的图结构表示为输入,包括语法依赖图和语义依赖图。然后,该模型分别采用基于层次的信息传播机制和基于邻居的信息传播机制对两种依赖图进行合理的编码。为了获得图级别的特征,该模型的图聚合网络首先采用双向长短期记忆网络和最大池化方法分别聚合语法依赖图和语义依赖图上的节点特征。最后,通过融合语法依赖图和语义依赖图的图级别的特征,以获得解码阶段的初始输入向量。该模型将图神经网络作为底层编码模型,并采用不同的信息传播机制对依赖图进行建模,能够更好地对程序代码中复杂的依赖关系进行学习。(2)本文提出了一种基于结构感知混合编码网络的代码注释生成模型。该模型的编码器包含序列编码层、语法结构编码层和聚合编码层。序列编码层以程序代码的序列形式为输入,并采用深度自注意力变换网络以捕获程序代码的序列信息。语法结构编码层以语义依赖图为输入,并采用图注意力网络以有效地提取程序代码的语法结构信息。聚合编码层采用深度自注意力变换网络以聚合序列编码层和语法结构编码层的结构表示。该模型通过这种混合编码方式以更好地学习程序代码中复杂的依赖关系。实验结果表明,模型在多种编程语言数据集上均取得了较好的结果,能够更加有效地捕获程序代码中复杂的结构信息。同时,为了验证模型的各个组成部分的贡献程度,本文在不同代码注释生成模型上设计了消融实验。最后,本文通过样例分析展示了针对不同编程语言所生成的自然语言注释,以从直观的角度验证模型的有效性。
其他文献
近年来,心血管疾病对我国居民生命健康构成了重大威胁。心律异常自动检测技术能够帮助及时诊断心血管疾病,具有显著的临床价值,是当前研究的热点。现有心律异常检测方法通常基于静态数据环境进行建模。然而实际生活中,心电图信号会受到患者身体、心理及运动状态等因素的影响而产生数据漂移。仅进行一次性学习获得的静态模型在遭遇数据漂移时,往往会因泛化能力恶化而导致检测性能下降。同时随着数据规模不断增大,传统监督学习方
学位
在控制理论研究领域,欠驱动系统是一类非常重要的控制对象,其最明显的特征是其控制输入的维度少于系统状态的维度,这一特征也造成其控制器设计难度有别于其他一般系统。因此,欠驱动系统稳定和跟踪控制的研究具有重要的理论和工程实践意义。本文主要考虑欠驱动系统的跟踪控制问题,将欠驱动系统视为一个组合系统,即其分别由直接受控子系统和间接受控子系统耦合而成。在一定条件下,本文着重关注了这两个子系统之间存在的某种相互
学位
数控机床伺服系统在现代化精密机械加工制造领域得到了广泛的应用,随着科技的发展进步和机械加工技术的不断改良迭代,对加工器件的质量要求也不断提高,对伺服系统的性能也提出了更高的要求。而伺服系统中存在的摩擦力扰动严重抑制了伺服系统性能,阻碍了伺服系统的发展。因此对系统中摩擦力扰动的补偿具有很强的研究价值和应用前景。本文针对精密永磁同步伺服系统中的摩擦力扰动,通过理论分析建模、仿真分析和实验验证等方法实现
学位
低秩张量补全(Low Rank Tensor Completion,LRTC)因其在计算机视觉、知识图谱补全、电力数据恢复等多个领域的应用而受到了广泛的关注。LRTC问题旨在从不完整的数据中预测或恢复缺失的数据,其中的关键在于寻求原始数据最优的低秩近似。传统的张量补全方法往往考虑的是张量展开矩阵的低秩性,这些方法破坏了原始张量的多路结构,最终会导致性能降低。因此,如何找到原始高维数据更为紧凑的低秩
学位
迁移学习能够利用从源域中学到的知识帮助目标域解决分类问题。特权信息是一种不同于原始特征并且只能在训练阶段使用的额外信息,利用特权信息辅助学习可以加强模型的训练效果。先前的迁移学习方法一般只利用原始特征训练分类器,却忽略了数据集中特权信息的价值。如何在迁移学习场景下利用特权信息辅助训练,并尽量提高分类准确率是一个值得研究的问题。本文提出了基于AdaBoost和特权信息的迁移学习方法(Research
学位
工程中很多接触问题都与热的产生和传导紧密相关,当两个接触体相对滑动时,接触面上的摩擦热可能会引起热弹性变形以及接触应力和接触区域的变化。这些变化反过来影响热传导的边界条件,并产生耦合的热机械响应。摩擦产生的热量与摩擦系数、滑动或旋转速度以及接触压力成正比。它会导致接触面的热弹性变形和接触损伤,进而引起材料的磨损,最终导致结构失效。在现代工业中,通常采用在部件表面添加涂层来减少由于接触损伤或摩擦损伤
学位
本文从环境监测的视角出发,对现代工业废水废气的治理方法进行了探究。首先,介绍了现代工业废水废气的污染特点和危害。其次,分析了目前常用的废水废气治理技术及其优缺点。最后,针对现代工业废水废气治理中存在的问题,提出了一些改进和创新的建议。
期刊
激光波数扫描干涉(Wavenumber Scanning Interferometry,WSI)是结合波数扫描和全场测量方式发展起来的高精度层析测量技术。通过采用相位对照技术,WSI能够对材料内部的变形场和应变场进行层析测量,是现代光学检测中极具发展潜力和使用前景的光测力学技术。尽管WSI在复合材料内部变形场和应变场的层析测量中表现出优越的性能,但在实际应用中仍然存在两个需要解决的问题:(1)激光
学位
现代无轨列车是一种具有全新架构的中运量城市道路交通运输工具,与传统公交相比,具有客运量大、零排放等优点,是普通道路公交系统与轨道交通系统的有力补充。然而,车体之间采用多铰接的方式连接,增加了整车结构的复杂性,运动不灵活。同时由于车轮无轨道约束,运动自由度大,车辆存在折叠、甩尾、轮迹偏差大等失稳问题,对其进行主动转向控制具有重要意义。本文针对现代无轨列车及其主动转向控制策略,开展如下主要工作:(1)
学位
虽然现代工业的蓬勃发展促进着社会的进步,但与此同时工业生产的粗放式增长也带来了十分严峻的环境污染问题,废弃物对人类的环境都产生了不良影响。良好的生存环境是人类赖以生存的根本,所以,在人类社会与经济生活中很有必要保护好生态环境。为了适应企业可持续发展的需要,需对工业废水及废气的处理,将废水废气转化,降低其有毒颗粒的含量。避免工业废弃物污染环境,可以兼顾环境经济效益与企业的社会效益,从而保持了工厂附近
期刊