Computer Engineering and Applications ›› 2022, Vol. 58 ›› Issue (20): 63-72.DOI: 10.3778/j.issn.1002-8331.2108-0357

• Research Hotspots and Reviews • Previous Articles     Next Articles

Code Search Review:from Perspective of Deep Program Comprehension

WEN Dongzhen, ZHANG Fan, LIU Haifeng, YANG Liang, XU Bo, LIN Yuan, LIN Hongfei   

  1. Dalian University of Technology, Dalian, Liaoning 116024, China
  • Online:2022-10-15 Published:2022-10-15

深度程序理解视角下代码搜索研究综述

汶东震,张帆,刘海峰,杨亮,徐博,林原,林鸿飞   

  1. 大连理工大学,辽宁 大连 116024

Abstract: The code search task aims to find the software components that meet the user’s needs by analyzing the user’s requirements and incorporating the user’s intent. Code search can enhance software reusability, improve software development and maintenance efficiency and reduce costs. Unlike traditional document retrieval task, program features are implying in identifiers and code structures. Building the comprehension of source code is the key for code search. In this paper it first defines the code search task from the perspective of deep program comprehension, and summarizes the recent research progress of code search. Then it gathers the evaluation methods and datasets of code search. Finally, to address the problems in the research, this paper provides an outlook on future code search research.

Key words: program comprehension, deep program comprehension, code search, natural language query, code representation, information retrieval

摘要: 代码搜索任务旨在通过分析用户需求,结合用户意图来找到满足其需求的软件构件。在加强软件复用性的同时,提高软件开发维护效率,降低成本。与传统的文档检索不同,程序特性往往隐含在标识符和代码结构中,理解程序功能是实现高效代码搜索的关键。从深度程序理解视角切入对代码搜索任务进行定义,并总结梳理近期代码搜索研究进展。针对当前代码搜索研究评估方法和数据集进行了整理。针对研究中存在的问题,对未来代码搜索研究进行展望,为后来研究者提供参考。

关键词: 程序理解, 深度程序理解, 代码搜索, 自然语言查询, 代码表示, 信息检索