基于字节码和孪生神经网络的Java代码克隆检测研究与应用

来源 :重庆邮电大学 | 被引量 : 0次 | 上传用户:WIN_Hardy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码克隆检测是软件工程领域的重要研究课题,有效发现软件系统中、软件系统之间的代码克隆现象对于软件开发以及解决软件侵权纠纷都具有现实意义。当前存在如下问题:一方面,实际工程应用中源代码不易获取,现有基于源代码的检测方法无法使用;另一方面,已有基于字节码的检测方法检测效果仍有提升空间。为了在缺失源代码情况下进行代码克隆检测并同时确保检测效果,本文提出一种基于字节码和孪生神经网络的代码克隆检测方法:SJBCD。由于没有专门用于字节码的代码克隆检测数据集,本文还构建了两个数据集:Opcode21K和Compiled BCB,分别有约2万和42万条数据。SJBCD方法有两方面的工作:提取并向量化操作码、构建并训练基于GRU的孪生神经网络模型。SJBCD提取字节码指令文件中的操作码序列,以操作码序列代替源代码函数,为了充分利用操作码的语义信息,使用Glove词嵌入技术对操作码进行向量化,相比其它基于字节码的检测方法,具有充分利用操作码语义信息的特点。在操作码向量化的基础上构建基于GRU的孪生神经网络,对向量化的操作码序列对进行监督训练以优化孪生网络的模型参数,基于训练后的模型进行代码克隆检测。为证明SJBCD的有效性,本文在Opcode21K和Compiled BCB上与Nicad和TBCCD进行了对比实验,实验结果表明SJBCD的F1度量值相比Nicad至少提高了0.193,相比TBCCD综合提升了0.019。最后本文将SJBCD方法应用于重庆市某局软件系统移交验收项目,基于SJBCD方法实现了Java代码差异检测系统,成功验收了19个Java系统,共检测约1.6万对class文件,约35万对函数。
其他文献
在互联网技术和普适计算快速发展的时代,推荐系统因其能够帮助用户做出合适的选择而变得越来越重要。协同过滤是最成功的推荐技术之一,它根据志同道合的用户过去的评级向活跃用户推荐项目。然而,用户-物品评级矩阵(user-item rating matrix),即推荐算法的输入之一,往往是高度稀疏的,因此会导致协同过滤的推荐效果并不理想。同时随着推荐技术的发展,当算法的准确性进一步提高时,用户更多的会接收到
学位
在高中数学的教学过程中,模型思维起着非常关键的作用,在教学实践中,应用了大量的数学理论和实践经验。论文对数学学科核心素养的含义进行了简要的论述,并进一步探讨了如何在核心素质的前提下,培养出高中学生的数学模型意识,从而可以更好地推动他们的创新思维能力的发展,为其今后的数学研究与人格发展奠定了坚实的理论与实践基础。
会议
随着金融业的飞速发展,银行信用卡业务竞争日趋激烈。Z银行信用卡中心长期将主营业务聚焦于发卡,市场份额稳步提升,发卡规模和贷款余额在商业银行中名列第三。在此情况下,由于长期缺乏逾期风险预警体系,造成逾期风险的客户特征不清晰、预警等级不明确、预警策略落实的及时性、针对性不足等问题,致使不良逾期风险逐年上升。本文对Z银行信用卡中心逾期风险管理现状进行分析,完成逾期风险预警指标体系的构建、逾期风险预警等级
学位
毕业论文作为高等教育学生学业的最后一个环节,毕业论文格式的规范性是毕业论文质量评价的重要指标之一。毕业论文的质量体现了学生的综合能力,同时也体现了学校的教学质量和教学水平。目前毕业论文格式自动检测相关研究较少,毕业论文格式检查工作主要由人工进行。因而有必要对毕业论文格式自动检测进行研究,其主要工作如下:1.构建了一种通用的毕业论文格式检测模型。首先针对高校毕业论文Word标准格式模板中的格式要求进
学位
人脸识别是模式识别中重要的研究课题之一,它以识别人身份为目的。随着人脸识别技术的发展,在受控场景环境下的人脸识别已经能取得令人满意的结果,但是在非受控环境下进行人脸识别仍存在挑战,其中光照、姿态、年龄、遮挡等问题就是影响人脸识别的重要因素。光照作为影响人脸识别的重要影响因素之一,成为研究者们致力于研究的问题。光照可细分为光照角度、光照色温和光照强度,本文主要研究光照中的光照角度问题,具体工作如下:
学位
研究婴儿大脑的发育有助于评估未来婴儿患发育性神经精神疾病的风险,并为后续的早发现早治疗赢得宝贵时间。核磁共振成像无放射性,对人体无损害且组织对比度高,被广泛使用在婴儿脑影像分析中。在婴幼儿脑发育的过程中,白质的信号强度是在不断变化的,尤其是在六个月左右大小的时候,灰质与白质有着相似的信号强度,这给婴幼儿脑组织分割带来困难。目前针对成人脑部核磁共振图像的分割,前人已经做了许多非常好的研究,但是由于婴
学位
计算机视觉系统在采集图像的过程中,容易受到外界环境的干扰。特别在雾霾天气下,采集的户外图像往往退化严重,主要表现为清晰度下降、色彩失真、纹理细节模糊等,而将特征受损的图像作为输入必然会影响系统后续对图像的分析和理解,削弱视觉系统的工作性能。因此,研究如何有效地从有雾降质图像中重建出原始图像,对提高视觉系统的应用性能和鲁棒性具有重要的现实意义。分数阶微积分可以在提高信号高频成分的同时非线性地保留信号
学位
随着安全关键系统的规模和复杂性不断增长,单一建模语言无法完全覆盖该类异构系统的建模要求.近年来,多范式建模方法逐渐成为表达复杂异构系统的有力手段,而安全性分析则是保证安全关键系统质量的重要步骤.本文提出一种面向安全关键系统的多范式建模及安全性分析方法.首先,使用SysML和AADL两种建模语言对安全关键系统进行多范式建模,SysML定义系统需求和逻辑架构,AADL则用于表达系统实现的物理架构、执行
期刊
图像重光照是计算机图形学和计算机视觉共有的经典问题,旨在改变图像的光照条件以满足视觉需求。人脸图像因使用广泛且对光照敏感,所以是重光照技术的重要作用对象。本文的主要工作是结合逆渲染技术和半监督学习技术,提出了人脸重光照算法和去高光算法。首先,根据对人脸皮肤模型的调研,光线入射后,人脸皮肤会产生一定的非漫反射现象,其中镜面反射占主要部分。镜面反射使人脸部分区域产生高光,然而当前大部分论文认为光线和人
学位
与传统媒体相比,社交网络在传播新闻、思想、观点等方面发挥着突出的作用,同时也是传播谣言、虚假新闻等负面信息的最佳途径。因此,社交网络中信息传播过程的准确预测和有效控制已成为重要的研究话题。利用信息传播模型研究信息传播过程,不仅可以理解信息传播模式和用户行为,而且能够有效控制有害信息的传播。论文以信息传播过程的多维特征为切入点,以用户和传播序列两个层面对信息传播驱动因素进行研究,主要工作内容概述如下
学位