基于预训练掩码语言模型的程序类型推理研究.pdf

基于预训练掩码语言模型的程序类型推理研究.pdf

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

摘要

代码片段当中常涉及未声明接收对象和非完全限定名。将这些未声明接收

对象和非完全限定名解析为对应的完整数据类型名(即:类型推理),是有效利

用代码片段当中知识的先决条件。为了推理出代码片段中的完整数据类型名

Fully-qualifiedname“

(),现有工作均基于符号知识库,采用关键字匹配式的查

字典策略。然而,符号知识库的构建依赖解析可编译的代码文件。这种可编译

的开销会限制符号知识库中所存储的完整数据类型名和代码上下文的数量。当

使用关键字匹配式的策略进行类型推理时,会由于符号知识库中知识的有限性

而出现Out-of-vocabulary问题。这意味着查找完整的数据类型,如果未存储在

符号知识库中,将返回空值。

为解决现有工作在类型推理任务中所存在的Out-of-vocabulary问题,本文

采用提示调优的方法激活预训练语言模型作为类型推理的神经知识库(类型推

理模型),并采用“完型填空”式的策略进行类型推理。相比符号知识库的构建

存在可编译的开销,神经知识库的构建因基于代码自然性将代码视作为文本而

不存在可编译的开销。基于激活的类型推理的神经知识库,本文设计了两款类

IntegrateddevelopmentenvironmentsIDE

型推理模型载体插件,分别为()插件

和WEB插件。

实验部分,本文从有效性、实用性和能力探究三个方面对本文所提出的类

型推理模型进行系统化的评估。有效性实验结果表明,本文所提出的类型推理

模型具有低资源学习能力,即仅使用10%数据对掩码语言模型进行微调便取得

了优异的类型推理性能。实用性实验结果表明,类型推理模型的性能优于现有

最新的类型推理工具,并且能够很好的处理现有工作中所存在的Out-of-

vocabulary问题。能力边界探究实验结果表明,类型推理模型具备泛化能力

(可在不同的编程语言中进行类型推理)以及混语能力(可为不同的编程语言

提供一个统一的类型推理模型)。

关键词:代码片段;类型推理;完整数据类型名;预训练掩码语言模型;

提示调优

III

Abstract

Codesnippetsofteninvolveundeclaredreceiverobjectsandnon-fullyqualified

names.Resolvingtheundeclaredreceivedobjectsandnon-fullyqualifiednamesinto

thecorrespondingfullyqualifiednames(i.e.,typeinference)isaprerequisitefor

efficientlyusingtheknowledgeincodesnippets.ToinfertheFullyqualifiedname

(FQN)inthecodesnippet,existingworkisbasedonthesymbolknowledgebaseand

adoptsthekeywordmatchingdictionarylookupstrategy.However,constructinga

symbolicknowledgebasedependsonparsingcompilablecodefiles.Thiscompilable

overheadlimitsthenumberoffullyqualifiednamesandcodecontextsstoredinthe

symbolicknowle

文档评论(0)

136****6583 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7043055023000005

1亿VIP精品文档

相关文档