基于代码特征和注释特征的代码搜索技术研究

来源 :东南大学 | 被引量 : 0次 | 上传用户:hnbc2008
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在软件工程领域,软件开发的质量、效率和成本是软件开发过程中关注的三个核心问题。进入二十一世纪以来,随着互联网的普及,信息技术呈现爆炸性地增长,软件系统的规模和复杂性也在不断增加,软件开发的效率问题也越来越受到关注。为了提高开发的效率,许多软件开发的技术被陆续提出,开发者们希望通过代码搜索等技术手段实现高效的代码重用。因此代码搜索技术的研究有着重要的意义。然而,现有的代码搜索技术在表示代码时并不全面,大多只关注了代码本身的信息而忽略了代码的注释信息,导致代码表示不完整从而在实际搜索中代码搜索的精度较低。为解决上述问题,本文提出一种基于代码特征和注释特征的代码搜索技术。与已有的搜索技术不同,该技术提取了源代码本身的代码特征和代码注释包含的注释特征,融合两类特征生成代码的多维标注,该标注能够更完整的表示代码。本文设计并搭建深度神经网络用于多维代码标注和查询语句的向量化,通过多维代码标注和查询语句的向量结果,计算向量间的相似度从而基于相似度排序生成搜索结果。此外,本文设计和实现了相应的代码搜索工具Code Hunter,该工具可以根据自然语言的输入搜索出符合条件的代码。通过100个开源项目中700万个Java方法代码的实验测试,本文的基于代码特征和注释特征的代码搜索技术和对应的工具Code Hunter相比于其他代码搜索工具有更高的准确率和平均排序倒数,即本文搜索技术有更好的搜索表现。同时,本文的基于代码特征和注释特征的代码搜索技术能够根据自然语言输入搜索出相应的代码,在实际开发环境中为开发人员搜索代码提供帮助。
其他文献
随着控制技术朝着复杂计算机网络控制方向发展,控制设计人员不能只解决底层的实时控制问题,还要解决上层辅助制造所带来的综合自动化问题。本文对某订单型制衣企业服装缝制流水线的编排优化问题进行了研究,针对目前普遍没有研究到的多缝制流水线工序工位编排优化问题和多缝制流水线工人编排优化问题,进行了建模与求解。在此基础上,开发了一套具有决策支持功能的服装缝制流水线编排系统,以加快缝制流水线的组织速度、提高多条缝
远程监督关系抽取通过对齐知识图谱中的三元组和大规模文本语料来生成大量用于关系抽取的数据。尽管远程监督的方法可以避免人工标注数据,但不可避免地引入了噪声问题。最新的一些方法通过引入实体相关的背景知识来解决噪声问题,如知识图谱中实体的类别信息等。然而这些方法仍然面临一些挑战。一方面,这些方法只引入了单一源的背景知识,需要定制特殊的模型且信息的覆盖率不高。另一方面,这些方法没有考虑引入背景知识中的噪声对
知识库问答是自然语言处理领域中的一项重要任务,其目的是根据自然语言描述的问题,从知识库中查找或推断出问题的答案,具有重要的研究价值和意义。如何跨越自然语言与知识库查询语言之间的差异是知识库问答的难点。语义解析方法将自然语言问题转化成对应的形式化查询,是目前得到广泛研究的一个方向。然而,在面对日益复杂的自然语言问题时,现有的语义解析方法暴露出关系检测准确较低,形式化查询构建噪声过大等缺点。本文的研究
通过对生物医学文献的信息抽取,可以提高生物医学领域知识库构建的自动化程度,以进一步支撑计算机在该领域的文献检索、诊断决策、学术查新、预测分析等方面的应用。医学专利作为一种医学科技文献,其内容创新性、时效性强,并且有完善的实验验证,在学术上和商业上均具有很高的利用价值。抗肿瘤药物是近年来备受关注的一个研究热点,该领域专利公开量也较多,但目前针对抗肿瘤药物专利的分析工作主要靠人工完成,代价较高。研究从
随着我国经济的不断发展壮大,人民群众的消费水平和消费观点逐步升级提高,房地产行业迎来了黄金时期,家装市场上的客户需求也与日俱增。然而家装设计的繁琐和低效无法满足当今市场对数量和质量的需求,家装行业对自动化提出了更高的要求。目前,家装设计的过程需要设计师手动临摹和标注户型图信息,生成三维模型,然后根据专业化知识,通过多次调整和设计来完成家具的布局,往往需要花费大量的时间,只能提供少量的方案供用户选择
API推荐技术面向程序开发人员推荐符合当下编程场景的API方法,在现代软件开发过程中扮演着越来越重要的角色。在急剧增长的开发需求推动下,API推荐技术得到了快速发展,但对API推荐技术的评估却关注的很少。目前研究人员普遍采取的评估方法是从信息检索领域或者其他推荐领域借鉴而来,其中正确性的评估是研究人员和用户最关心的评估结果。但是本文通过实证研究发现,目前API推荐系统的正确性评估存在着以下问题:正
学习分布式且解耦的有效表示是无监督学习的一个重要研究方向,而由多个有效表示混合生成的场景在进行解绑识别时存在歧义问题,即绑定问题(Binding Problem),其广泛存在于视觉和语音等领域的现实应用中,如自动驾驶及虚拟现实中的场景分割和多演讲者语音分割等。感知成组(Perceptual Grouping,PG)是解决绑定问题的重要机制,其具备从复杂结构化输入场景中识别出各实体对象完整有效表征的
知识图谱表示学习旨在将知识图谱中的实体和关系编码到一个低维、连续的向量空间之中,以此来支撑不同领域的应用,如知识图谱补全、问答、推荐系统等。在现实应用中,知识图谱总是动态变化的,既会有新知识的加入,也会有旧知识的删除。大多数现有知识图谱表示学习模型都注重于对静态环境下的知识图谱进行编码,却忽略了其动态性。为了应对知识图谱产生的变化,这些模型需要花费很高的时间代价去重新训练整个图谱,而无法以一种更高
近年来,知识图谱规模迅速扩大,实体数量飞速增长,不同知识图谱之间实体匹配的重要性日益体现。实体匹配的质量依赖于知识图谱中实体的上下文,主要分为关系三元组、属性三元组和实体文本描述等三类。现有的相关工作只同时对其中的一类或两类实体上下文进行建模,没有同时对三类实体上下文进行建模。除此之外,现有相关工作中虽然有同时建模两类实体上下文,但是其中大部分并未平等对待这些实体上下文,并且对于多类信息不充分的实
中国人口老龄化等问题的加剧,给监护和安防等领域带来了巨大挑战。由于视频监控的逐渐普及化、低廉化以及视频的可视化、易存储等优点,它迅速成为替代人工管理的重要手段。如何高效地处理得到的视频数据,使其在满足特定场合的人体行为检测的精度要求的同时,又能兼顾效率,尽量满足实时性需求,一直是算法研究人员不断追求的目标。目前大多数的视频处理任务都基于特定场合,行为检测和识别的种类相对固定且较为单一。当传统方法利