首页 | 本学科首页   官方微博 | 高级检索  
     

基于深度学习的程序生成与补全技术研究进展
引用本文:胡星,李戈,刘芳,金芝.基于深度学习的程序生成与补全技术研究进展[J].软件学报,2019,30(5):1206-1223.
作者姓名:胡星  李戈  刘芳  金芝
作者单位:北京大学 信息科学技术学院, 北京 100871;高可信软件技术教育部重点实验室(北京大学), 北京 100871,北京大学 信息科学技术学院, 北京 100871;高可信软件技术教育部重点实验室(北京大学), 北京 100871,北京大学 信息科学技术学院, 北京 100871;高可信软件技术教育部重点实验室(北京大学), 北京 100871,北京大学 信息科学技术学院, 北京 100871;高可信软件技术教育部重点实验室(北京大学), 北京 100871
基金项目:国家重点基础研究发展计划(973)(2015CB352201);国家自然科学基金(61620106007,61751210)
摘    要:自动化软件开发一直是软件工程领域的研究热点.目前,互联网技术促进了开源软件和开源社区的发展,这些大规模的代码和数据成为自动化软件开发的机遇.与此同时,深度学习也在软件工程领域开始得到应用.如何将深度学习技术用于大规模代码的学习,并实现机器自动编写程序,是人工智能与软件工程领域的共同期望.机器自动编写程序,辅助甚至在一定程度上代替程序员开发程序,极大地减轻了程序员的开发负担,提高了软件开发的效率和质量.目前,基于深度学习方法自动编写程序主要从两个方面实现:程序生成和代码补全.对这两个方面的应用以及主要涉及的深度学习模型进行了介绍.

关 键 词:程序生成  代码补全  深度学习
收稿时间:2018/8/31 0:00:00
修稿时间:2018/10/31 0:00:00

Program Generation and Code Completion Techniques Based on Deep Learning: Literature Review
HU Xing,LI Ge,LIU Fang and JIN Zhi.Program Generation and Code Completion Techniques Based on Deep Learning: Literature Review[J].Journal of Software,2019,30(5):1206-1223.
Authors:HU Xing  LI Ge  LIU Fang and JIN Zhi
Affiliation:School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;Key Laboratory of High Confidence Software Technologies(Peking University), Ministry of Education, Beijing 100871, China,School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;Key Laboratory of High Confidence Software Technologies(Peking University), Ministry of Education, Beijing 100871, China,School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;Key Laboratory of High Confidence Software Technologies(Peking University), Ministry of Education, Beijing 100871, China and School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;Key Laboratory of High Confidence Software Technologies(Peking University), Ministry of Education, Beijing 100871, China
Abstract:Automatic software development has always been a research hotspot in the field of software engineering. Currently, Internet technology has promoted the development of open source software and open source communities. These large-scale code and data are opportunities for automatic software development. At the same time, deep learning is beginning to be applied in various software engineering tasks. How to use deep learning technology for large-scale code learning and realize automatic programming of machines is a common expectation in the field of artificial intelligence and software engineering. The machine automatically writes program to assist or even replace the programmer to develop the program to a certain extent, which greatly reduces the development burden of the programmer and improves the efficiency and quality of the software development. At present, automatic programming based on deep learning methods is mainly implemented from two aspects, program generation and code completion. This study introduces these two aspects and the deep learning models.
Keywords:program generation  code completion  deep learning
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号