语法和语义结合的代码补全方法
作者:
作者单位:

作者简介:

郭俊霞,E-mail:gjxia@mail.buct.edu.cn

通讯作者:

郭俊霞,E-mail:gjxia@mail.buct.edu.cn

基金项目:

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


Code Completion Approach Based On the Combination Of Syntax And Semantics
Author:
Affiliation:

Fund Project:

National Natural Science Foundation of China (61702029, 61672085, 61872026)

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
    摘要:

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

    Abstract:

    In the field of software engineering, code completion is one of the most useful technologies in the integrated development environment (IDE). It improves the efficiency of software development and becomes an important technology to accelerate the development of modern software. Prediction of class names, method names, keywords and so on, through code completion technology, to a certain extent, improves code specifications and reduces the work intensity of programmers. In recent years, artificial intelligenceIn general, Smart Code Completion uses the source code training network to learn code characteristics from the corpus, and makes recommendations and predictions based on the context code characteristics of the locations to be completed. Most of the existing code feature representations are based on program grammar and do not reflect the semantic information of the program.The network structure currently used is still not capable of solving long-distance dependency problems when facing long code sequences. Therefore, this paper presents a method to characterize codes based on program control dependency and grammar information, and considers code completion as an abstract grammar tree (AST) node prediction problem based on time convolution network (TCN), which enables network models toThis method has been proven to be about 2.8% more accurate than existing methods.

    参考文献
    相似文献
    引证文献
引用本文

付善庆,李征,赵瑞莲,郭俊霞.语法和语义结合的代码补全方法.软件学报,,():0

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
历史
  • 收稿日期:
  • 最后修改日期:
  • 录用日期:
  • 在线发布日期: 2021-04-21
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号