从自然语言到代码的搜索:基准集、实证研究和新方法

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:C_Adrian
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
自然语言代码搜索在软件开发中起着重要作用,它允许程序员以自然语言进行查询,并从Internet或源代码库中获取代码片段。但是,在现有代码搜索方法选择和新技术研究时往往存在困难,因为(1)现有代码搜索方法的实现和评估它们的数据集通常是不公开的,无法选择适合当前场景的代码搜索方法;(2)有些代码搜索方法可能会利用训练数据集或辅助数据源,因此如果没有这些数据集/数据源,就无法真正实现搜索方法,并证明其有效性。(3)尚未发现对各种代码搜索方法的有效性进行广泛评估的实证研究。(4)当前代码搜索方法在性能上还有提升空间。在此背景下,本文构建了基准数据集,复现现有代表方法,进行实证研究,并基于实证研究的结果提出了新的代码搜索方法。具体研究工作包括:1.基准数据集构建。本文设计和构建了代码搜索评估数据集CosBench,该数据集由1000个项目,52个与代码无关的查询以及4个用于评估代码搜索方法的指标组成。2.现有代表方法复现。本文选择了六种具有代表性的代码搜索方案,包括四种基于信息检索的方法和两种基于深度学习的方法,进行了复现。3.实证研究。本文在CosBench上评估了六种代码搜索方法。结果清楚地表明了CosBench数据集的可用性和每种代码搜索方法的优劣势。此外,本文还发现基于深度学习的代码搜索方法更适合用于重用代码的代码查询,而基于信息检索的代码搜索方法更适合用于解决错误和学习API使用的代码查询。4.新方法研究。基于实证研究的观察,本文研究与设计了一种基于查询意图理解的混合代码搜索方法IntentCS。该方法对输入的查询进行查询意图理解,混合了基于信息检索和深度学习代码搜索方法,相对于基准方法,IntentCS获得了最好的搜索性能。
其他文献
随着近年来信息技术行业的快速发展,传统行业信息化已经被越来越多的企业列为企业的重要战略目标。第三方检验行业作为一个具有拥有悠久历史的行业,同样需要借助信息化手段,解决目前业务领域遇到的管理成本高,人员作业强度大,流程控制困难等问题。本文针对第三方检验机构的业务特点,设计并实现了一套基于微服务架构的检验报告系统,从目前的业务实践中所反映出的问题着手,分析并确立报告系统的功能性及非功能性需求。同时,对
近几年来,业界广泛使用Hadoop MapReduce、Spark等分布式并行计算框架进行大数据处理,这些框架大部分都遵从BSP模型,shuffle阶段在大数据处理中无法避免。随着处理的数据量爆炸性的增长,企业考量成本与容错性倾向于将shuffle阶段的中间数据储存于磁盘中,而不是内存中。因此,分布式计算任务的shuffle阶段中不仅有着密集的网络I/O,还有着密集的磁盘I/O。这两种密集的I/O
大面积农田具有交通不便、幅员广阔等监测难点,为农田建立时空模型能帮助管理者加强信息化、智能化生产管理。现有的时空建模方法多采用卫星遥感技术或定点高清摄像技术采集时空数据:卫星遥感技术以成本低、覆盖范围广的优势被广泛应用于土地覆被监控;定点高清摄像技术具有实时性强、分辨率高等特点,应用于小面积范围内的实时监控。但目前仍主要存在两大难题:其一,多源时空数据的异构性问题。遥感数据与定点摄影数据在成像条件
三维物体语义理解和旋转不变性特征研究一直是解决许多实际应用的关键性问题。由于现实场景中三维模型所处方位往往不确定,语义分析算法在实际当中的应用面临诸多挑战。同时,语义定义的模糊性导致很难有一个定义的标准能够符合所有人的认知,因此现有的语义相关数据集以及算法存在一定的局限。但是人对于不同物体之间的语义对应关系存在一定的共识,利用对应关系可以一定程度上避免语义定义带来的歧义,从而可以从一个全新的角度促
党的十八大以来,习近平总书记围绕加强国际传播能力建设、增强国际话语权、提升国家形象、提高国家文化软实力和中华文化影响力提出了一系列新理念新思想新战略,成为新时代文化"走出去"战略的理论指导和行动指南。中共中央统筹推动对外文化传播、文化交流和文化贸易,加快了中华文化发扬光大和走出去的历史进程。中国在国际传播能力建设、对外文化交流和对外文化贸易等领域都取得重大成就,大大提高了中国的国际话语权、中华文化
物联网的蓬勃发展和工业4.0的提出推动了现代工厂的智能化与自动化进程,而智能工厂对设备监控技术也提出了新的要求——非侵入式监测。射频识别(Radio Frequency Identification,RFID)技术作为工业中广泛应用的物联网技术,因其无源感知的优点也成为了普适计算领域中代表性的非侵入式感知技术,将其应用到工业新时代的设备监控系统中有着得天独厚的天然优势。为了解决机械设备异常或故障状
自改革开放以来,工业园区作为城市众多产业的空间物质载体,对于促进产业结构调整和产业集聚升级的承载作用显著;与此同时,工业园区也成了环境和安全风险事故的高发地。尤其是在环境保护作为国家重大战略的今天,对工业园区的环境管理问题日益突出,各级政府也陆续颁布了多项政策,推进工业园区的生态环境信息化建设以及工业园区的数字化智能化发展。但目前大多数的园区环境信息化建设与实际的环境管理需求是脱节的,系统仅针对水
软件众包因其开放式利用群体智慧解决问题的特点,在工业界和学术界受到众多关注。近年来,随着软件众包平台的不断发展,其用户量也呈现出高速增长的趋势,如何帮助用户挑选合适自己的服务商及服务,即构建一个优秀的众包服务搜索系统成为了各平台亟需解决的关键问题之一。为解决当前服务搜索系统未能充分利用包括用户评论在内的现有平台数据和未能对搜索结果精确排序的问题,本文提出了基于用户评论的软件众包智能搜索模型。通过对
Unikernel基于库操作系统技术,将单个应用程序与库操作系统组件编译为虚拟机镜像,可直接在KVM等虚拟化平台上运行,具有体积小、性能好、可针对化定制等优势,是一种有吸引力的针对云计算的操作系统设计。但Unikernel的一大缺点是缺乏多进程支持。最主要的原因是Unikernel是单地址空间设计,且运行在单个CPU特权级上。这大大降低了Unikernel的灵活性和适用性。多进程编程模型帮助应用程
近年来,区块链技术的出现和发展,为供应链领域遇到的鉴权和信息协同等方面问题带来极大的改善。供应链依托区块链的范式,采用私有链或联盟链的形式,利用区块链技术信用的易流转、链上信息难篡改、交易透明化等天然优势,逐步走向数字化智能化。目前,供应链领域合同依赖智能合约实现智能替代合同运行在区块链上,主要存在以下三个问题:首先,供应链参与方之间签订的纸质合同由于文本异构性问题,生成智能合约缺乏统一化描述;其