摘要:作为软件工程领域的一项新兴技术, 源代码自动生成注释旨在为给定的代码片段生成自然语言描述. 目前最先进的代码注释技术采用编码器-解码器神经网络模型: 编码器提取源代码的语义表示, 而解码器则将其转换为人类可读的代码注释. 然而, 许多现有方法将输入的代码片段视为独立函数, 往往忽略了目标函数与其调用的子函数之间的上下文依赖关系. 忽视这些依赖关系可能导致关键语义信息的缺失, 从而降低生成注释的质量. 为此, 提出了一种函数依赖感知的分层代码注释神经网络模型DHCS (dependency-aware hierarchical code summarization). DHCS通过显式建模目标函数与其子函数之间的分层依赖关系, 旨在提高代码注释的质量. 采用了一个分层编码器, 包括子函数编码器和目标函数编码器, 使模型能够有效地捕捉局部和上下文的语义表示. 同时, 引入了一项自监督任务, 即掩码子函数预测, 以增强子函数的表示学习. 此外, 提出挖掘子函数的主题分布, 并将其与主题感知的复制机制相结合, 集成到注释解码器中. 因此, 它能够直接从子函数中提取关键信息, 从而更有效地生成目标函数的注释. 最后, 在针对Python、Java和Go语言构建的3个真实数据集上进行了大量实验, 结果充分验证了所提方法的有效性.