软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2022年第11期:语法和语义结合的代码补全方法

发布日期:

作者:付善庆,李征,赵瑞莲,郭俊霞

单位:付善庆,北京化工大学 信息科学与技术学院, 北京 10002911,李征,北京化工大学 信息科学与技术学院, 北京 10002902,赵瑞莲,北京化工大学 信息科学与技术学院, 北京 10002903,郭俊霞,北京化工大学 信息科学与技术学院, 北京 10002904

关键词:代码补全;程序语法特征;程序语义特征;特征结合;长距离依赖;深度学习

基金:国家自然科学基金(61702029,61672085,61872026)

在软件工程领域,代码补全是集成开发环境(integrated development environment,IDE)中最有用的技术之一,提高了软件开发效率,成为了加速现代软件开发的重要技术.通过代码补全技术进行类名、方法名、关键字等预测,在一定程度上提高了代码规范,降低了编程人员的工作强度.近年来,人工智能技术的发展促进了代码补全技术的发展.总体来说,智能代码补全技术利用源代码训练深度学习网络,从语料库学习代码特征,根据待补全位置的上下文代码特征进行推荐和预测.现有的代码特征表征方式大多基于程序语法,没有反映出程序的语义信息.同时,目前使用到的网络结构在面对长代码序列时,解决长距离依赖问题的能力依旧不足.因此,提出了基于程序控制依赖关系和语法信息结合共同表征代码的方法,并将代码补全问题作为一个基于时间卷积网络(time convolution network,TCN)的抽象语法树(abstract grammar tree,AST)节点预测问题,使得网络模型可以更好地学习程序的语法和语义信息,并且可以捕获更长范围的依赖关系.实验结果表明,该方法比现有方法的准确率提高了约2.8%.

来源:2022年第11期

《软件学报》期刊编辑部

查看软件学报杂志2022年第11期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员