面向技术特征的代码检索与分析系统

来源 :山东大学 | 被引量 : 0次 | 上传用户:shaw1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
开源代码平台为科研人员提供了分享和交流代码的环境,近几年,深度学习在自然语言处理、计算机视觉、生物计算等科研领域取得了很大成功,越来越多的深度学习模型和代码在开源平台分享。针对特定问题,研究人员有必要查找相关解决方案,将可复用代码进行对比和性能分析,但现有系统在代码检索和对比方面很少关注算法描述中的专业词汇、函数调用结构等技术特征。为此,本课题改进了基于通用文本的关键词抽取方法,更好地融入反映代码技术特征的专业词汇,提出了基于函数调用结构的语义编码方法,进行代码对比分析,设计实现了面向技术特征的代码检索与分析系统,主要工作如下:(1)提出了融合语义和句法信息的关键词抽取模型。在代码分享平台上,基于关键词的代码检索不仅要考虑查询关键词和代码描述文本的相关性,还要考虑技术特征关键词的特异性,而现有关键词抽取方法不适用于这类包含大量技术词汇的专业文本。为此,本文提出了融合语义、句法和词汇特异性等代码技术特征相关信息的关键词抽取模型,采用预训练模型BERT作为文本编码器,提取文本抽象语义信息;采用词汇TFIDF值和句子依存句法知识的融合分析方法,将共现词汇和依存关系相结合构建语义关联图,采用随机游走算法计算词汇权重,以捕获词汇之间的长距离语义依赖关系,兼顾关键词的重要性和特异性。在两个数据集上分析了模型性能,结果表明本模型抽取的关键词能够更好地反映代码的技术特征;在关键词特异性分析中,融合TFIDF值和语法的方法更好地提升了关键词的特异性;通过析构分析,验证了依存句法知识对模型性能带来的收益。(2)提出了基于函数调用结构的代码对比分析模型。现代算法设计思想是模块化构建代码,通常包含大量的基础性功能库函数,其函数名、调用结构和内置类等信息提供了重要的代码技术特征,为了综合考虑这些技术特征的语义信息,本文提出了基于函数调用结构的语义编码方法,从函数调用结构、函数名和内置类等方面分析代码相似性;采用基于图卷积神经网络的自编码器方法进行图语义编码,基于语义向量对比代码结构语义;基于库函数和内置类名称的调用信息向量进行函数相似性和内置类的相似性对比;最后将结构向量、函数向量和内置类向量进行拼接作为整体技术特征向量,比对代码相似度。在真实代码数据集上验证了模型有效性,结果表明本模型能够更好地依据技术特征进行代码对比;通过析构分析,验证了模型中函数调用结构部分对模型性能带来的收益最大;通过函数调用结构语义可视化分析,说明了模型能够有效地提取代码之间的相关性和差异性信息。(3)设计和实现了面向技术特征的代码检索与分析系统。基于山东大学高性能计算云平台提供的代码存储、代码运行环境和硬件资源,设计实现了代码检索与对比分析功能;代码检索功能提供了基于关键词的用户查询功能,依据代码描述文本或技术特征关键词进行检索;代码分析功能对检索出的可复用代码和新设计的代码进行对比分析,辅助进一步分析代码性能;最后对代码检索和对比分析功能进行了测试,验证了系统的可行性和有效性。依存句法分析算法案例显示,本系统能够依据用户需求实现代码检索和对比分析。
其他文献
基于消费级深度相机的实时三维重建技术包括深度相机逐帧捕捉数据、相机姿态实时估计、融合体模型提取面模型、前景分割等步骤,在重建过程中,往往会出现噪声、冗余和帧间不匹配等问题。论文详细描述了从深度相机捕捉数据到最终三维模型的建立过程中,对重建三维模型精度与质量进行提升的三种方式,分别是帧块的自适应处理,TSDF的精细化处理以及基于平面检测的前景分割。在深度相机的拍摄过程中,由于相机剧烈抖动或光线变化等
学位
推荐系统在人们的生产生活中应用广泛,在信息爆炸时代对于信息的过滤、便民服务等方面发挥了重要作用。序列推荐是推荐系统的重要领域,被广泛应用于电影、电商、短视频等行业,其主要任务是通过分析用户与项目之间的交互序列,利用序列之间的依赖性来捕获用户最近期的偏好,从而预测用户下一次可能交互的项目。推荐系统成功的关键是用户偏好和项目特征的准确表示,许多广泛应用的推荐模型都是基于欧几里得空间(即欧氏空间)的表示
学位
大数据时代,隐私泄漏问题成为了社会发展的隐患。加强隐私保护,既需要公众提高对个人隐私的保护意识,也需要强有力的隐私保护技术予以支撑。可搜索加密(Searchable Symmetric Encryption,SSE)作为一种数据利用与共享的重要手段,既能在查询过程中保护数据所有者的数据隐私,又能保留数据的可查询性质,具有非常重要的研究意义。作为实现密文检索的重要工具,可搜索加密的基本工作过程是,给
学位
随着科技以及电子设备的日益发展,在线学习逐渐成为一种流行且常见的教育方式。在线学习具有资源多元化、易于使用、受众面广泛等优点,学习者可以不受时间和地域限制地进行学习,然而其缺少了传统教育所具有的实时的反馈机制。实时且准确地对学习者的在线学习过程中的学习参与度进行评估,不仅能够给予学习者足够的监督反馈使其保持良好的学习状态,而且能够给予授课者适时的教学反馈使其有效提高教学质量,对于在线教育的发展具有
学位
近年来,继人脸识别、指纹识别、声音识别、动作识别等生物识别技术之后,基于心电信号(Electrocardiogram,ECG)的身份识别(以下简称心电身份识别)凭借其活体检测、隐私性高、安全性突出等独特优势,已成为一种被广泛关注的新身份识别技术。目前,心电信号虽已成功应用于身份识别,但其识别性能远不如其他生物特征技术。心电信号容易受到各种干扰噪声的影响,稳定性比较差,而且具有高区分性的特征并未得到
学位
股票预测是指对股票具有深刻了解的研究人员根据股票行情的发展进行的对未来股票趋势方向以及涨跌程度的预测行为。然而,由于股票市场的高度波动性和非平稳性,极大增加了股票预测的难度。新闻媒体信息的爆炸式增长以及自然语言处理和文本挖掘技术的不断发展为股票预测的进一步研究提供了新思路,使研究者能够从众多的新闻媒体信息中揭示市场趋势和波动性。在现有的基于新闻文本的股票预测方法中,大多数方法主要以单一新闻信息(如
学位
大学教育中的语文教育是多方面、多样性的综合体,素质教育也是培养大学生的重要内容,不仅要把思政融入到教学中,更要突出表现大学生自身的特点。大学语文课程是一门重要的基础性学科,是以围绕人文教育开展的核心课程,充分利用语文课堂这一途径,发挥学科特长,将思政教育有效结合,推动大学语文教学改革,以达到以德树人的根本目标。课程思政教育下的大学语文课堂要获得良好的学习效果,需要教师不断地提高自身能力,还需要学校
会议
随着物联网的不断发展,物联网设备的数量和种类正在急速增加。物联网设备应用十分广泛,有一部分物联网设备无法使用传统的电池或电源进行供电,因此需要用到能量收集技术。能量收集就是通过收集物联网设备周围的微小能量(例如太阳能、风能等),从而达到维持自身系统对电能的需求。能量收集可以为不方便使用传统供电方式的物联网设备供电,保证物联网设备的运行。但是,由于能量收集设备的能量输出通常很弱且不稳定,因此物联网设
学位
标签割问题是定义在标签图上的一类经典的组合优化问题。标签图由顶点集、边集、标签集以及边集到标签集的映射组成。在算法研究中,标签割问题是一般图上对应优化问题的推广;在实际应用中,标签割问题被用来衡量共享风险链路网络的健壮性等。最小s-t标签割问题是标签割问题中的基本问题,其目标是在标签图上求一个最小标签子集,使得在图上删除该子集对应的边集后,s点和t点不再连通。最小s-t标签割问题,一方面,是最小s
学位
分子对接是在药物发现过程中一种被广泛使用的计算方法。它通过计算机模拟的方式在受体蛋白质的结合位点中对类药小分子进行姿态定位、评分、排名,以选择出优先用于后续实验测试的化合物,这一过筛选过程将极大地提高后续实验的成功率从而减少时间和经济成本,因此计算机模拟分子对接在药物设计与研发流程中作用重大。在新药研发过程中,对某一特定受体可能需要在数十亿类药小分子中搜索较优的小分子及其与受体蛋白结合的姿态。因此
学位