一种基于抽象语法树增广图模型的代码补全方法

    公开(公告)号:CN113064586B

    公开(公告)日:2022-04-22

    申请号:CN202110515134.7

    申请日:2021-05-12

    Applicant: 南京大学

    Inventor: 黎铭 汤闻誉

    Abstract: 本发明公开一种基于抽象语法树增广图模型的代码补全方法,包括以下步骤:等待新的代码补全需求,获取待补全位置附近的源代码片段;解析待补全的源代码,将其表示为抽象语法树;遍历抽象语法树上各节点之间的顺序、语法和语义关系,通过带不同标记的有向边连接这些节点,将其表示为图的形式;将以图形式表示的代码进一步编码为矩阵形式;检查是否存在利用图信息的代码补全模型,若不存在,则训练代码补全模型;将编码后的图信息输入代码补全模型,给出预测结果。本发明将程序语言代码表示为图的形式,更好地体现代码各个语法单元之间的顺序、语法和语义关系,从而利用这些信息获得更高的预测准确率。

    一种基于抽象语法树增广图模型的代码补全方法

    公开(公告)号:CN113064586A

    公开(公告)日:2021-07-02

    申请号:CN202110515134.7

    申请日:2021-05-12

    Applicant: 南京大学

    Inventor: 黎铭 汤闻誉

    Abstract: 本发明公开一种基于抽象语法树增广图模型的代码补全方法,包括以下步骤:等待新的代码补全需求,获取待补全位置附近的源代码片段;解析待补全的源代码,将其表示为抽象语法树;遍历抽象语法树上各节点之间的顺序、语法和语义关系,通过带不同标记的有向边连接这些节点,将其表示为图的形式;将以图形式表示的代码进一步编码为矩阵形式;检查是否存在利用图信息的代码补全模型,若不存在,则训练代码补全模型;将编码后的图信息输入代码补全模型,给出预测结果。本发明将程序语言代码表示为图的形式,更好地体现代码各个语法单元之间的顺序、语法和语义关系,从而利用这些信息获得更高的预测准确率。

Patent Agency Ranking