Toward a Better Alignment Between the Research and Practice of Code Search Engines

Toward a Better Alignment Between the Research and Practice of Code Search Engines
复制标题

DOI:
10.1109/apsec57359.2022.00034
复制
发表时间:
2022-12
期刊:
2022 29th Asia-Pacific Software Engineering Conference (APSEC)
影响因子:
--
通讯作者:
Yin Liu;Shuangyi Li;Eli Tilevich
Yin Liu;Shuangyi Li;Eli Tilevich
中科院分区:
其他
文献类型:
--
作者:
Yin Liu;Shuangyi Li;Eli Tilevich

文献摘要

相似文献

在研究文献时,人们会认为代码搜索引擎是开发人员经常使用来完成日常任务的重要软件开发工具。在这种印象的驱使下,研究人员主要专注于提高代码搜索的性能。然而,正如我们在本文中所指出的,这种印象大多是没有根据的。因此,开发人员和研究人员对代码搜索引擎是什么及其最重要的特征持有不同的观点,开发人员的观点和技术水平往往存在很大分歧。本文旨在通过绘制代码搜索引擎的全面图片来协调这些不同的观点,这些图片反映在开发人员的经验和观点以及技术水平中。为此,我们首先调查了超过100名软件开发人员,以确定他们对代码搜索引擎的使用和偏好。然后,我们通过分析学术论文,行业发布和开源项目来回顾这一主题的最新技术水平。最后,我们将这两项调查的结果并置,以综合研究人员和行业从业者的行动呼吁,以更好地满足软件开发人员在搜索代码时的需求。我们的研究结果可以用来更好地调整代码搜索引擎的技术和实践的状态,从而更广泛地采用和更有效地使用这个强大的软件开发工具。
When studying the research literature, one comes to the impression of code search engines as an essential software development tool that developers use regularly to accomplish their daily tasks. Driven by this impression, researchers primarily focus on improving the performance of code search. Nevertheless, as we argue in this paper, this impression is mostly unfounded. As a result, developers and researchers hold dissimilar perspectives on what code search engines are and their most important characteristics, with developers’ perspectives and the state of the art often diverging widely.This paper aims at reconciling these divergent perspectives by drawing a comprehensive picture of code search engines, as reflected in developers’ experiences and perspectives as well as the state of the art. To that end, we first survey more than 100 software developers to ascertain their usages of and preferences for code search engines. We then review the state of the art on this topic by analyzing academic papers, industry releases, and open-source projects. Finally, we juxtapose the results of our two investigations to synthesize a call-for-action for researchers and industry practitioners to better meet the demands of software developers when it comes to searching for code. Our findings can be used to better align the state of the art and practice of code search engines, leading to wider adoption and more effective use of this powerful software development tool.