返回
Semantic-Aligned Code Summarization: Bridging the Gap Between Code and Natural Language Through Data Flow Analysis
DOI:10.1109/TNNLS.2025.3581792.png)
摘要
En 中文
代码摘要旨在为代码片段生成描述性的自然语言,以促进开发者理解并提高生产力。先前的研究往往忽视了代码与其自然语言描述之间的语义关联,导致存在明显差距和次优解决方案。为解决此问题,我们引入了一个语义对齐的代码摘要框架,该框架利用代码中的关键数据流信息进行语义分析,确保代码与摘要之间的对齐。具体而言,我们利用语义提取模块(SEM)来解读代码含义,并通过语义对齐模块将其与自然语言对齐。在SEM中,我们使用静态程序分析技术构建包含数据流边的代码图。然后,在该构造良好的代码图上,我们创新性地采用了一种由数据流引导的遍历算法来提取代码的语义。该遍历算法通过分析程序执行过程中变量之间的信息传递来理解代码语义。在语义对齐模块中,我们集成了一个对比学习损失机制进行语义对齐,该机制将代码和自然语言的语义域映射到一个统一的向量空间。我们进一步从理论上分析了数据流引导的遍历算法能够确保在较短的路径中捕捉语义高度相关的节点。在两个基准数据集上的广泛实验证明了该框架的有效性和广泛适用性。
Keyword:
Code summarization
contrastive learning
data flow analysis
semantic alignment
walking algorithm
期刊
IF:
8.9
论文数:
7.6K
被引数:
7.2W
机构
引用论文
暂无论文信息

