iSE 实验室源代码搜索方面取得新进展

发布日期:2024-03-22 浏览次数:


软件开发是脑力密集型且经验性的活动。为提升开发效率和保证代码质量,开发者通常在大规模代码库(如 GitHub)中搜索匹配待实现功能的高质量代码以进行参考或重用。源代码搜索(简称代码搜索)旨在将这一过程自动化,以提升搜索效率和结果准确性。在过去50多年间,软件工程研究者相继提出了大量代码搜索技术。



为了帮助研究者明晰代码搜索技术的发展历程、现状与未来方向,我院iSE实验室孙伟松博士(2023年6月毕业,现为南洋理工大学博士后)从一个独特的三维视角出发对代码搜索技术进行了系统性调研。重点关注影响代码搜索技术性能的三个关键核心组件:查询理解组件、代码理解组件和查询-代码匹配组件,将代码搜索技术分为:查询端优化技术、代码端优化技术和匹配端优化技术,进而以每一端为观察视角理解和剖析现有代码搜索技术提出的具体优化或改进。我们从1,427篇候选论文中精心挑选出68篇涉及三端的代表性论文,其中:44篇论文提出了查询端优化技术,50篇论文提出了代码端优化技术,以及52篇论文提出了匹配端优化技术。通过对这些代表性论文的全面回顾,梳理了各端优化技术的发展路径和发展趋势,并指明了代码搜索领域的持续挑战和潜在研究方向。


该工作相关成果《A Survey of Source Code Search: A 3-Dimensional Perspective》已被软件工程领域顶级国际期刊ACM Transactions on Software Engineering and Methodology(TOSEM, CCF-A类期刊)全文录用。该论文是南京大学与南洋理工大学联合攻关的又一成果,双方将持续深入研究智能软件工程,着力构建代码搜索与代码修复迭代融合、需求与测试双向监督逼近的系统性学术成果和工业应用。