《表1 标识符替换类别及替换规则》

《表1 标识符替换类别及替换规则》   提示:宽带有限、当前游客访问压缩模式
本系列图表出处文件名:随高清版一同展现
《基于序列到序列模型的代码片段推荐》


  1. 获取 高清版本忘记账户?点击这里登录
  1. 下载图表忘记账户?点击这里登录

为了合理地对词汇表进行压缩,采用了一种标识符替换方法来把代码的词汇表大小压缩到一个合理的范围内。具体而言,利用从Java方法中提取到的代码信息将代码片段中的一些标识符替换为一些特定的词汇。首先,计算所有代码片段中每个词汇的出现频次,并选取出现频次最高的30 000个词汇作为代码片段的初始词汇表;其次,根据初始词汇表以及提取到的代码信息对代码片段执行标识符替换操作。标识符替换操作可以被分为6类,具体包括方法名替换、常量替换、变量名替换、类型名替换、方法调用名替换以及内部方法声明替换。相应地,引入了一些特定的词汇作为替代词汇,标识符替换类别和引入的特定词汇如表1所示,其中k是一个从0开始计数的正整数。