CN113867710B 代码补全的方法和装置 (华为技术有限公司)_第1页
CN113867710B 代码补全的方法和装置 (华为技术有限公司)_第2页
CN113867710B 代码补全的方法和装置 (华为技术有限公司)_第3页
CN113867710B 代码补全的方法和装置 (华为技术有限公司)_第4页
CN113867710B 代码补全的方法和装置 (华为技术有限公司)_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

代码片段和该目标待补全代码片段的待补全位全代码片段的编程语言类型和该目标待补全代码片段的前缀词得到多种代码补全算法中的每每种代码补全算法的潜在应用概率确定该目标2接收来自代码补全客户端的代码补全请求,所述代码补全请求包括根据所述目标待补全代码片段和所述目标待补全代码片段根据概率预测模型、所述目标待补全代码片段的编程语言类型和所在应用概率是指采用所述每一种代码补全算法对所述代码补全请求进行计算得到的潜在根据所述每一种代码补全算法的潜在应用概率,确定所述目标根据所述每一种代码补全算法的潜在应用概率,从所述多种代码根据所述目标代码补全算法,确定所述目标待补全代码片根据所述部分代码补全算法,确定所述部分代码补全算法中合并和/或去重所述部分代码补全算法计算得到的潜在补全代码,得到所述目标待补在所述每一种代码补全算法的潜在应用概率均低于预设概根据所述多种代码补全算法和代码库中的一个或多个代码文件生成所述概率预测模从代码库中的一个或多个代码文件采样多个待根据所述多个待补全位置中的第一待补全位置、所述第一待补全位根据所述第一待补全位置,确定所述第一待补全位置对应的第3根据所述第一代码文件的编程语言类型、所述第一代码文件中的待第一代码补全算法和所述第一潜在补全代码被用户采用的概率的映射根据所述第一代码文件的编程语言类型、所述第一待补全位置、所根据所述第一代码文件中的所述第一待补全位置之后的代码和所述第一潜在补全代将所述第一潜在补全代码中的匹配长度与所述第一代码文件中所述第一待补全位置之后的代码长度的比值作为所述第一潜在补全代码被用根据所述第一代码文件中的待补全代码片段,确定所述第一代码文其中,所述根据所述第一代码文件的编程语言类型、所根据所述第一代码文件的编程语言类型、所述第一代码文件中的待其中,所述根据概率预测模型、所述目标待补全代码片段根据所述目标待补全代码片段的编程语言类型、所述目标待补全代码片段的前缀词、4将所述目标待补全代码片段的待补全位置从后向前的N个词作为所述目标待补全代码收发模块,用于接收来自代码补全客户端的代码处理模块,用于根据所述目标待补全代码片段和所述目标待补全所述处理模块,还用于根据概率预测模型、所述目标待补全代码片段所述处理模块,还用于根据所述每一种代码补全算法的潜在应用概所述收发模块,还用于向所述代码补全客户端发送所述目标待根据所述每一种代码补全算法的潜在应用概率,从所述多种代码根据所述目标代码补全算法,确定所述目标待补全代码片根据所述部分代码补全算法,确定所述部分代码补全算法中合并和/或去重所述部分代码补全算法计算得到的潜在补全代码,得到所述目标待补在所述每一种代码补全算法的潜在应用概率均低于预设概据所述多种代码补全算法和代码库中的一个或多个代码文件生成从代码库中的一个或多个代码文件采样多个待根据所述多个待补全位置中的第一待补全位置、所述第一待补全位根据所述第一待补全位置,确定所述第一待补全位置对应的第5根据所述第一代码文件的编程语言类型、所述第一代码文件中的待第一代码补全算法和所述第一潜在补全代码被用户采用的概率的映射根据所述第一代码文件的编程语言类型、所述第一待补全位置、所根据所述第一代码文件中的所述第一待补全位置之后的代码和所述第一潜在补全代将所述第一潜在补全代码中的匹配长度与所述第一代码文件中所述第一待补全位置之后的代码长度的比值作为所述第一潜在补全代码被用根据所述第一代码文件的编程语言类型、所述第一代码文件中的待根据所述目标待补全代码片段的编程语言类型、所述目标待补全代码片段的前缀词、将所述目标待补全代码片段的待补全位置从后向前的N个词作为所述目标待补全代码6是指采用所述每一种代码补全算法对所述代码补全请求进行计算得到的潜在补全代码被中的目标待补全代码片段和该目标待补全代码片段的待补全位置确定该目标待补全代码语言类型和该目标待补全代码片段的前缀词可以得到多种代码补全算法中的每一种代码7[0008]在一些可能的实现方式中,所述根据所述每一种代码补[0009]代码补全装置可以根据该每一种代码补全算法的潜在应用概率从该多种代码补可以将潜在应用概率大于或等于第二预设概率阈值的代码补全算法作为目标代码补全算补全算法计算得到的潜在补全代码;合并和/或去重所述部分代码补全算法计算得到的潜码补全算法确定目标待补全代码片的补全结果可以是将部分代码补全算法计算得到潜在[0012]在一些可能的实现方式中,所述根据所述每一种代码补[0013]代码补全装置可以在每一种代码补全算法的潜在应用概率都小于或等于该预设[0015]根据多种代码补全算和代码库中的一个或多个代码文件有助于代码补全装置得到多种代码补全算法中的每一种代码补全算法对应的潜在应用概8全代码片段的前缀词、所述第一代码补全算法和所述第一潜在补全代码被用户采用的概的前缀词、所述第一代码补全算法和所述第一潜在补全代码被用户采用的概率的映射关[0017]通过第一代码文件的编程语言类型、第一代码文件中的待补全代码片段的前缀助于代码补全装置得到多种代码补全算法中的每一种代码补全算法对应的潜在应用概率,进而根据每一种代码补全算法的潜在应用概率,确定该目标待补全代码片段的补全结果,最后将目标待补全代码片段的补全结果发送代码补全客户端。即在保证代码准确性的同[0019]该第一代码文件中的该第一待补全位置之后的代码即为在该第一代码文件中的[0021]代码补全装置根据该第一代码文件中的待补全代码片段可以确定该待补全片段9一种代码补全算法的潜在应用概率包括:根据所述目标待补全代码片段的编程语言类型、之后的代码和所述第一潜在补全代码,确定所述第一潜在补全代码被用户采用的概率包后的代码长度的比值作为所述第一潜在补全代码被用[0027]该第一潜在补全代码中的匹配长度可以是该第一潜在补全代码与该第一代码文过计算匹配长度和实际长度的比值实现获知该第一潜在补全代码被用户采用的概率的方理模块与该存储模块连接,该处理模块可以执行该存储模块存储的指令或源自其他的指该收发模块可以包括接收模块和发送模块。收发模块例如可以是该芯片上的输入/输出接memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器根据该代码补全请求中的目标待补全代码片段和该目标待补全代码片段的待补全位置确补全代码片段的编程语言类型和该目标待补全代码片段的前缀词可以得到多种代码补全销。[0052]代码补全算法概率预测模块112主要包括离线生成各种代码补全算法的概率预测模型及在线预测各代码补全算法计算得到的潜在补全代码被用户采用的概[0054]用于负责从代码文件中任意指定位置之前的代码片段中提取前缀词或从指定位[0057]生成概率预测模型包括从代码库构建出包含如下信息的样本集(编程语言类型、码文件中指定位置之后代码片段的匹配度作为代码补全算法计算得到的潜在补全代码被[0063]具体地,先调用前缀词提取单元从待补全位置之前的代码片段中提取代码前缀[0066]根据概率预测单元预测的每种代码补全算法计算得到的潜在补全代码被用户采法的数量可以设定选择潜在补全代码被用户采用的概率高于某个阈值的代码补全算法或生成类代码补全算法需要占用稀有计算资源如GPU、或有的代码补全算法需要网络(资源)[0071]代码补全算法库包含多个代码补全模块,每种代码补全模块具有代码补全的能补全结果返回模块114可以去除多种代码补全算法中重复的代码补全结果项,或按一定的代码补全算法分别计算代码补全的结果,再合并通过多种代码补全算法计算得到的结果。[0079]202,代码补全装置根据该目标待补全代码片段和该目标待补全代码片段的待补置的前3个词作为该目标待补全代码片段的前缀词,则该目标待补全代码片段的前缀词为[0083]可以理解的是,目标待补全代码片段的前缀词可以是待补全位置之前的N个连续是将该第一潜在补全代码中的匹配长度与该第一代码文件中该第一待补全位置之后的代算匹配长度和实际长度的比值实现获知该第一潜在补全代代码文件中的待补全片段确定该第一代码补全算法计算得到的包括第一潜在补全代码的补全片段当前行首的字符或词也可以提高某些补全算法得到的补全结果的潜在应用概率。当前行的前M行代码包含的词数量一致的情况下,可以更进一步提高某些补全算法得到的[0109]在一种可能的实现方式中,步骤204具体可以是在该每种代码补全算法的潜在应[0112]在另一种可能的实现方式中,步骤204具体可以是根据该每种代码补全算法的潜装置可以将潜在应用概率大于或等于第二预设概率阈值的代码补全算法作为目标代码补据目标代码补全算法确定目标待补全代码片的补全结果可以是将部分代码补全算法计算得到潜在补全代码进行合并和/或去重等操作得到最终的补全结果,从而得到更加精准的相应地,该代码补全客户端接收来自该代码补全装置的该目标待补全代码片段的补全结补全请求中的目标待补全代码片段和该目标待补全代码片段的待补全位置确定该目标待段的编程语言类型和该目标待补全代码片段的前缀词可以得到多种代码补全算法中的每[0123]本申请实施例可以根据上述方法示例对发射端设备或者接收端设备进行功能模[0129]可以理解的是,该收发模块310可以是图1所示的系统中补全算法选择模块111的代码补全算法概率预测模块112或代码补全算法库113中的率是指采用该每一种代码补全算法对该代码补全请求进行计算得到的潜在补全代码被用[0135]该收发模块310,还用于向该代码补全客户端发送该目标待补全代码片段的补全[0139]可选地,该目标代码补全算法包括该多种代码补全算法[0141]合并和/或去重该部分代码补全算法计算得到的补全结果,得到该目标待补全代生成单元),还用于根据所述多种代码补全算法和代码库中的一个或多个代码文件生成所括所述第一代码文件的编程语言类型、所述第一代码文件中的待补全代码片段的前缀词、所述第一代码补全算法和所述第一潜在补全代码被用户采用的概率的映射关[0152]根据所述第一代码文件中的所述第一待补全位置之后的代码和所述第一潜在补[0158]根据该目标待补全代码片段的编程语言类型、该目标待补全代码片段的前缀词、[0161]将该第一潜在补全代码中的匹配长度与该第一代码文件中该第一待补全位置之[0163]将该目标待补全代码片段的待补全位置从后向前的N个词作为该目标待补全代码收发模块310所实现的相关功能可以由处理器410控[0165]可选地,处理器410可以是一个通用中央处理器(centralprocessingunit,[0170]具体地,所述处理器410用于控制收发器与媒体服务器或广告管理服务器进行信设备和处理器410通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。用集成电路(applicationspecificintegratedcircuit,ASIC)、现成可编程门阵列可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-速缓存。通过示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论