IENETChain人工智能科学家墨子在语义理解上取得新进展

公司人工智能科学家墨子(花名)在软件工程顶级会议34th ACM/IEEE International Conference on Automated Software Engineering(CCF A类)上发表一篇长文:Multi-Modal Attention Network Learning for Semantic Source Code Retrieval,该会议将于November 11–15, 在 San Diego, USA举行。届时,团队成员将参会进行论文报告。

摘要

程序语言分析和自然语言分析的最大难点在于程序语言是一种高度结构化的语言,包括树形结构和图形结构。随着深度学习在自然语言处理领域的发展,如何利用深度学习进行程序语言分析目前也是学术界一个比较前沿的问题。

代码检索技术指用户通过输入关键词或一段描述代码片段功能的简短自然语言,从代码库中进行代码搜索与查找的技术。该技术和工具在帮助软件开发者从给定用户查询的可用开源存储库中检索现有代码片段方面发挥了关键作用。尽管已有相关工作致力于提高代码检索的有效性,但仍然存在两个主要问题。首先,现有方法只考虑了源代码的浅层特征,如方法名称和代码分词,但忽略了包含丰富而且定义源代码语义信息的抽象语法树(AST)和控制流图(CFG)等结构化特征。其次,尽管基于深度学习的方法在源代码的表示上表现良好,但它缺乏可解释性,使得难以解释检索结果,并且几乎不可能理解源代码的哪些特征对最终结果贡献更多。

为了解决上述两个问题,本文提出了一种用于语义源代码检索的新型多模态注意网络 。开发了一种全面的多模态表示,用于表示源代码的非结构化和结构化特征,其中一个LSTM用于表示代码的分词,一个Tree-LSTM用于表示代码AST,以及一个GGNN(门控图神经网络)用于表示代码的CFG。此外,应用多模态注意力融合层以将权重分配给每种模态的源代码的不同部分,然后将它们集成到单个混合表示中。对大型现实世界数据集的综合实验和分析表明,我们提出的模型可以准确地检索代码片段,并且优于最先进的方法。

你可能感兴趣的:(IENETChain人工智能科学家墨子在语义理解上取得新进展)