基于深度语义理解的代码搜索方法

来源 :国防科技大学 | 被引量 : 0次 | 上传用户:naonao6521
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
互联网的水平高速发展,以及深度学习技术在各应用上的突破进展给软件工程领域带来了新的机遇,但同时也对软件项目开发的效率和质量提出了更高的要求。代码搜索已经成为软件工程中的一个重要领域,随着诸如GitHub及Stack Overflow之类开源社区规模的快速增长,使得研究者们更可能从中搜索到符合自身需求的代码段并在项目中进行复用,但代码实现的日益复杂和多样化也给这种精细化的代码搜索带来了很大的挑战。已有的代码搜索方法的局限性在于没有选取合适的特征来表达代码中的精确语义,以及缺乏多特征的有效融合,无法达到足够好的搜索效果。基于上述问题,本文提出了一种全新的基于IR(代码中间表示)的代码表示方法,该方法能够有效融合代码中的数据流、控制流以及关键词语义特征,使得功能相似的代码段能被表示成相似的形式,功能不同的代码段则表示有明显差异。课题的主要工作包括:(1)提出了一种语义表达上更精准的结合了代码中的数据、控制流信息的代码表示方法,同时基于该方法实现了代码搜索模型DeGraphCS。本文首次将数据流信息的表示引入代码搜索领域,同时提出了基于变量的数据、控制流图的代码表示方法。(2)明确细化了基于变量的流图构造方法,以及如何有效地将多种语义信息融合表示到一张图中,进一步地,本文还设计了一种图优化方法来精简该流图,提高效率的同时也能在输入图神经网络后得到更准确的代码向量表示。(3)本文从GitHub中爬取筛选出了 41152对C语言<注释,函数代码段>对作为数据集进行模型的训练和测试,且复现了多个近年来在软件工程顶级会议上发表的代码搜索方法,包括DeepCS、UNIF和MMAN,同时实现了多个对比模型用作后续对比实验。在实验评估中,自动评估的结果表明DeGraphCS模型远超第二好的代码搜索模型MMAN效果,其中在MRR这一指标上增幅是19.14%,在SuccessRate@1上增幅达到了 26.43%,除此之外,本文还通过在线搜索对多个模型进行了人工评估,结果依旧表明DeGraphCS模型有着最好的搜索效果。本文设计回答了 6个研究问题,从各方面验证了提出模型的有效性、鲁棒性以及实用性。
其他文献
目的:通过采集冠心病稳定型心绞痛患者的病例资料,评估冠心病患者衰弱水平,进行临床指标相关性及影响因素分析,探究不同衰弱程度下中医证型分布规律,为冠心病患者合并衰弱状态提供早期中西医结合识别、诊断、治疗和提前干预的参考依据。资料与方法:采用横断面调查法,依据纳排标准及剔除标准,收集2020年10月至2021年12月就诊于辽宁中医药大学附属医院心内一、二科病房患者,既往病史明确或行冠状动脉造影检查,证
学位
红麻(Hibiscus cannabinus L.)属于锦葵科木槿属一年生草本韧皮纤维作物。土壤盐渍化是一种存在于全球范围内的生态环境问题,严重影响植物种子萌发、生长发育的各个阶段。NAC转录因子是植物中特有的一类转录因子,在植物生长发育及抗逆性中起重要作用。木质素和纤维素是植物次生细胞壁的重要组成部分,木质素合成主要受NAC调控网络控制。本研究以红麻耐盐品种福红18号和盐敏感品种赞引1号为实验材
学位
随着城市化的快速发展,我国农村空间结构也面临着空心化、破败化等一系列问题。党的十九大报告中提出实行乡村振兴战略,以促进中国农村的空间结构的发展转型与重构。乡村振兴的关键在于乡村人才的振兴。近年来,随着国家乡村振兴战略的推行,人才返乡入乡逐渐增多。人才返乡入乡不仅可以为乡村地区带来资本集聚,为乡村产业的发展提供坚实基础,还能通过自身的社会关系网络,加强村庄与外界的联系,吸引劳动力与技术,为乡村的发展
学位
随着我国城市化进程的不断加快,城市密度朝着越来越高的方向发展。在城市高密度的条件下,小学建设用地条件愈发紧张,室外活动场所作为小学生身心发展需要的重要空间,设计条件被进一步压缩,其设计方法需要总结。深圳作为我国当代发展的代表城市,城市密度逐年升高,小学的室外活动场所设计面临的问题具有代表性,也初步涌现出了针对问题应对的具体实践项目。文章希望通过对深圳城市高密度下小学的调查研究和案例分析,总结提炼设
学位
当前世界处于百年未有之大变局,全球性WTO多边贸易谈判陷入僵局、贸易摩擦日益频繁导致区域经济一体化快速发展。各经济体之间的相互合作和一体化程度大大提高,越来越多的国家通过签订自由贸易协定来扩大区域内的经济合作,以实现经济发展、就业改善以及贸易增长的目的。中韩两国隔海相望,是亚洲经济的重要引擎。自2015年12月20日起,《中韩自由贸易协定》正式生效,推动了中韩贸易自由化、便利化的发展,促进了两国产
学位
随着雷达探测技术的发展,车载防撞雷达已经逐渐进入了大众视野,成为了高级辅助驾驶领域中不可或缺的一环,尤其是在车辆数量愈发增多的现在。车载防撞雷达通过对回波数据进行处理分析为驾驶人员提供预警,通过辅助驾驶人员来提升车辆的行驶安全。24GHz与77GHz是车载防撞雷达的两个主要频段,但24GHz雷达存在体积大并且探测距离与精度不及77GHz雷达的问题,所以车载防撞雷达正在由24GHz逐步向77GHz过
学位
云计算时代,越来越多的政府机构、企业及个人用户开始通过购买互联网云产品或云服务的方式来满足自身IT业务需求。如何提高天翼云产品及云服务客户满意度,增加与用户之间的粘性,是春城电信分公司在“云改数转”战略转型期非常重要的客户关系管理内容。但春城电信运营的天翼云系列产品并未在当前的通信市场占有较大份额,随着强有力的竞争对手在短期内将强势入驻本地,同品类的产品相互抢夺市场,春城电信天翼云产品市场占有率势
学位
在扫黑除恶专项斗争常态化的背景下,催收非法债务罪作为扫黑除恶专项斗争的产物应运而生。非法催债的上游与下游行为都有可能涉及违法犯罪,具有严重的社会危害性。本文将从催收非法债务罪的立法背景与司法认定中存在的困境入手,结合对本罪犯罪构成的理解提出非法催债行为规制的立法完善与司法建议。首先,对催收非法债务罪的立法背景进行梳理。主要是根据非法催债相关的司法解释进行分析,司法解释中对非法催债行为的认定罪名多样
学位
现在人们对于海洋资源的开发主要集中于浅海深度,伴随着生物学家对一类具有特殊水下感知鱼类的相关研究,结合电场探测类传感器技术的发展,基于水下主动电场的探测技术逐渐走入科学家和工程师的视野。除了对弱电鱼类使用主动电场进行探测的理论原理相关研究,也有研究者开始将水下主动电场探测定位技术进行实际应用。本文研究的重点是通过合成一个模拟弱电鱼发射的激励信号频谱的多频信号对物体进行探测,分析物体特性与所生成的多
学位
深度强化学习作为机器学习的范式和方法论之一,在许多领域取得了成功,其目标是生成最大化期望累计收益的策略.然而,在安全攸关的领域,生成的策略除了实现最大化收益的最优性目标,还需要保证其满足安全性.关于这一类问题的研究称为安全深度强化学习,其常用的一种框架是将安全性要求表示为约束条件的约束马尔可夫决策过程,可借助传统的约束优化方法来求解.然而,现有的基于约束优化的安全深度强化学习算法存在计算成本高,拉
学位