一种基于提示学习的应用编程接口迁移方法

    公开(公告)号:CN116541071A

    公开(公告)日:2023-08-04

    申请号:CN202310486787.6

    申请日:2023-05-04

    Applicant: 南京大学

    Inventor: 王新颖 姚远 徐锋

    Abstract: 本发明公开一种基于提示学习的应用编程接口迁移方法,能有效解决API迁移中源和目标API之间的匹配问题,以及API参数的匹配问题。给出了一种提示构造方法,从而利用大规模代码预训练模型生成API迁移代码。主要步骤包括:从待迁移源代码中提取出源API,检索API迁移映射表,获得候选目标API列表;利用API文档获得源API和候选目标API的带参函数声明;结合考虑源和候选目标API之间的参数类型、参数名称和参数数量匹配度,获得最佳匹配的源API和目标API带参函数声明;构造预训练模型的提示并将其输入大规模预训练模型中,获得预测输出,从输出中提取出迁移后的代码。实验表明,本方法较现有工作有更高的准确率。

    一种基于表示学习的跨语言或跨库应用程序接口映射方法

    公开(公告)号:CN116483437A

    公开(公告)日:2023-07-25

    申请号:CN202310270235.1

    申请日:2023-03-20

    Applicant: 南京大学

    Inventor: 王新颖 姚远 徐锋

    Abstract: 本发明公开一种基于表示学习的跨语言或跨库API映射方法,是基于深度神经网络的无监督学习获得API表示并基于API表示建立API映射的方法,仅依赖于大量的易获得的包含API调用的源代码,不需要任何预先收集或人工标注的API映射以及额外的API文档作为训练数据。本方法根据代码和API的特点设计了一个基于Transformer结构的表示学习预训练模型和三个适应API映射的预训练任务,采用大规模源代码数据对模型进行训练,从而获得API的使用语义和其声明语义的联合嵌入。当给定一个源域的API,则计算其与目标域中各API的向量余弦相似度,给出按相似度排序的可替换API列表,从而建立API间的跨语言或跨库的API映射。本方法较现有的跨库或跨语言API映射方法有更高的准确率。

Patent Agency Ranking