软件问答社区的代码查询匹配方法研究

来源 :武汉大学 | 被引量 : 0次 | 上传用户:wc420178
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近些年,随着开源软件和开源社区的蓬勃发展,互联网诞生了诸多类型的在线问答平台供软件开发者使用。软件开发者利用这些在线平台来共享开源项目、搜索代码方案、解答开发疑惑、分享开发经验和学习开发技术等,以进一步完善项目的开发质量和提升自身的开发水平。如今,这些平台包含了数百万个开源项目和数亿行源代码可贡献大量的代码解决方案,这对软件开发活动中的概念理解、代码复用等起着至关重要的作用。本文将这类为开发者提供软件信息查询的在线平台叫做软件问答社区,将社区中发布的有关查询(通常为自然语言描述)和回复的内容(通常为包含上下文自然语言描述的代码示例)称之为软件问答对象。随着软件问答社区的不断演化,其涵盖的软件代码的类型和软件对象的数量也在不断增长。软件问答社区作为一种社交平台,所包含的软件问答对象通常具有短文本型、规范不足、复杂性高、噪声较多、动态性强等特点,这使得在软件问答社区中查找有效的代码示例还存在诸多挑战。针对这些挑战,本文构建了一个面向软件问答社区的代码查询匹配统一框架,提供了在软件问答社区查找最匹配代码示例的解决方案。具体来说,本文的工作可以分为以下四部分:(1)挖掘软件社区中的高质量软件仓库能够为查询语句扩展提供有效的扩展源。针对软件问答语料缺乏普适性和查询扩展过度的问题,结合无监督软件仓库挖掘Code MF算法,本文提出一种基于众智知识扩展查询的代码查询匹配CFCQ模型。(2)外部有噪数据预先训练学习的结构词嵌入有助于引入结构语义的先验知识。针对模型缺乏引入外部预先学习结构语义知识的问题,结合结构嵌入和双重注意力机制,本文提出了一种结构嵌入联合注意力的代码查询匹配NACQ模型。(3)关注软件问答对象的语言层次结构有助于挖掘查询与代码之间的交互信息。针对软件问答对象语义表示缺乏融合层次结构的问题,结合ONLSTM网络和专心池化操作,本文提出了一种有序嵌入联合专心池化的代码查询匹配SNCQ模型。(4)层次嵌入可以保留更多结构语义信息,降低RNN直接建模产生的信息损失。针对RNN直接嵌入软件问答对象产生语义损失的问题,结合自注意力和专心池化操作,本文提出了一种从局部到全局层次嵌入的代码查询匹配LGCQ模型。本文以主流的软件问答社区StackOverflow网站为例,收集了包含的申明式语言和解释性语言的C#、SQL、Python和Java四种软件问答对象的数据集。通过详尽的实验论证和结论分析,表明了本文所提出模型的有效性和准确性。
其他文献
由于轴流泵叶顶间隙的存在,叶轮内会产生间隙泄漏流,泄漏流与主流相互作用形成间隙泄漏涡、分离涡等复杂流动,在非设计工况下会严重影响泵的性能。在空化条件下,这些复杂的间隙涡流还可能会诱发涡空化,导致振动、噪声等,影响泵的安全稳定运行。针对轴流泵间隙涡流和能量耗散等科学问题,本文采用试验观测、数值模拟和理论分析的方法,系统研究了轴流泵内间隙涡流特性和能量耗散特性。然后提出了在叶片叶顶开C型槽来控制间隙涡
对于以断裂破坏为主导的混凝土结构物,如重力坝,混凝土材料的粘弹性性能及裂缝扩展决定了结构物在持续荷载作用下的变形,进而影响其服役期的安全性及耐久性。由于混凝土抗拉强度较低,施工及正常运行过程中结构物内不可避免地会产生微裂缝。在低水平荷载持续作用下(一般认为小于30%峰值荷载),裂缝处于稳定状态,混凝土中宏观裂缝不会扩展并引发结构物的破坏,结构物的变形由混凝土粘弹性性能控制,此时结构物中的徐变是线性
空间中的精确定位是移动机器人、微型飞行器、虚拟现实和增强现实等技术所需要的基本功能。使用相机和惯性测量单元(Inertial Measurement Unit,IMU)作为传感器的视觉同时定位与地图构建(Simultaneous Localization and Mapping,SLAM)和视觉惯性SLAM可以在缺乏全球卫星定位信号时,根据载体自身的传感器进行定位,因此得到了广泛的研究和应用。在消
糖脂代谢为细胞提供能量及其所需生物大分子物质,是重要生命活动。糖脂代谢失衡可导致肥胖、2型糖尿病、非酒精性脂肪肝(Non-alcoholic fatty liver disease,NAFLD)等多种代谢疾病,严重威胁人类健康。肌肉作为重要的运动和代谢器官,在维持机体糖脂代谢及能量平衡中起重要作用。随着近年来研究的深入,肌肉分泌的多种肌肉因子的代谢调控作用陆续被揭示,因此,肌肉因子所介导的组织器官
我国河流众多,水能资源丰富。过去几十年间,伴随着经济和社会的高速发展,我国兴建了一大批坝高和装机容量均居世界前列的大型水电工程。泄洪消能问题是这些高坝工程安全稳定运行的关键问题之一,而高速掺气水流问题又是高坝泄洪消能问题的难点所在。在水利水电工程中,流动多由重力驱动,其中高速水流的掺气多由分层水气流动在湍流发展到一定程度后转变而来。因此,对于高速掺气水流的研究重点在于分层水气流动的湍流以及掺气水流
我国中西部地区地质条件复杂多变,在局部地区,断层、褶皱、岩溶、地下暗河等不良地质现象星罗棋布。在隧道开挖的过程中,掌子面与围岩常呈现出“地层复杂多变、强度低、自稳能力差、富水性强”等软弱与极软弱特征,加之隧道断面大,开挖初期极易出现大变形、塌方、冒顶、突泥与涌水等灾害。针对该类工程地质条件极为复杂的高风险大断面隧道,研究基于BIM(建筑信息模型)技术的新型铁路隧道施工方法与施工管理理念及方法,对提
TRPV1通道是一种非选择性的阳离子通道,在感觉神经元以及非感觉神经元细胞中广泛表达。作为多觉伤害性感受器,TRPV1通道可以响应多种物理以及化学刺激从而参与机体稳态的维持。而痛觉的感知是TRPV1的研究热点,机体在组织损伤,炎症以及癌症等疾病发生时常伴有炎性痛敏,机械痛敏以及热痛敏等,这些常与TRPV1通道的功能异常相关。因此,对于TRPV1的功能探究具有重要的生理病理意义。而对于TRPV1功能
全球导航卫星系统(GNSS,Golbal Navigation Satellite System)具有全天候、实时和高精度的优势,是20世纪一项伟大的系统工程,蕴含了大量的科学技术和工程应用的创新。自上世纪70年代出现至今,GNSS导航定位的理论与技术层面都经历了快速发展。一方面,全球导航系统从单独的GPS系统逐渐发展成GLONASS、Galileo以及北斗等多系统,信号也从最初的双频信号朝着三频
基于分类的软件缺陷预测方法使用历史软件数据构建预测模型,并使用该模型预测新的软件模块是否存在缺陷。根据预测结果,软件测试人员会对所有被预测为有缺陷的软件模块都分配相等的测试资源,导致了有限的测试资源的浪费。面向排序的缺陷预测方法利用学习排序算法建立预测模型,然后根据预测的缺陷个数对软件模块进行排序,通过指导软件测试人员优先测试包含更多缺陷的软件模块,因此相比于基于分类的软件缺陷预测方法可以更有效地
随着各种微型化、集成化和高频化电子设备的爆炸式增长,电磁污染问题日益凸显,因吸波材料能从根本上减弱电磁波的危害,从而使其成为当前研究的热点。锰氧化物具有良好的介电损耗能力、适中的阻抗匹配、优异的耐候性及相对较轻的质量,是当前倍受关注的一类吸波材料,其晶型丰富、形貌多变、制备方法简单、产量大、成本低廉、自然界资源充足以及环境友好等特性,在吸波领域具有极大的应用潜力。但其损耗机制单一,电导率低,且匹配