您的位置首页 >知识百科 >

程序检索中语义相似性的多关系图视角

导读 程序检索仍然是软件开发的基石,对于提高整个开发生命周期的生产力至关重要。在各种程序检索模型中,许多模型都忽略了自然语言查询和代码之...

程序检索仍然是软件开发的基石,对于提高整个开发生命周期的生产力至关重要。在各种程序检索模型中,许多模型都忽略了自然语言查询和代码之间的差异,导致语义鸿沟明显。此外,程序和查询都带有丰富的结构和语义信息。然而,现行方法往往忽视源代码不同方面之间的凝聚力,将查询视为序列,忽视其固有的结构特征。

为了解决这些问题,董云伟领导的研究团队 于2024年6月15日在 高等教育出版社和施普林格·自然杂志联合出版的《计算机科学前沿》上发表了他们的新研究成果。

研究团队提出了一个框架,将程序检索问题表述为多关系图相似性问题,并采用双层注意力机制,通过关系内和关系间层注意力为多关系图中的节点分配权重。

首先,多关系图构建模块专注于使用代码属性图 (CPG) 和抽象含义表示 (AMR) 来表示程序和查询。这种战略方法有助于更全面、更细致地描绘程序和查询语义。然后利用双层注意图神经网络来学习 AMR 和 CPG 的语义信息。最后,设计语义相似度计算模块来计算查询-程序对的相似度。与现有研究结果相比,所提出的方法在所有基线中表现相对较好。

未来的研究工作可以集中在优化多关系图上,通过最小化无关信息,从而降低图的复杂性。此外,一个有希望的途径是刻意整合外部知识,如知识图谱,旨在增强程序语义的表示。

版权声明:本文由用户上传,如有侵权请联系删除!