期刊文献+
共找到162篇文章
< 1 2 9 >
每页显示 20 50 100
An Empirical Study of Code Clone Clustering Based on Clone Evolution
1
作者 Fanlong Zhang Xiaohong Su +1 位作者 Wen Zhao Tiantian Wang 《Journal of Harbin Institute of Technology(New Series)》 EI CAS 2017年第2期10-18,共9页
There are lots of code clones appearing in software,which are similar code fragments with each other. In the past decades,researchers have proposed some state-of-the-art methods to detect clones. The code clones have ... There are lots of code clones appearing in software,which are similar code fragments with each other. In the past decades,researchers have proposed some state-of-the-art methods to detect clones. The code clones have showing some relationship with the evolution of software. In order to explore relationships between clones and their evolution,we propose a framework to cluster clones with a Fuzzy C-means clustering method.Firstly,we detect all the clones using Ni Cad,and build the clone genealogies for multiple versions software.Secondly,we extract some metrics to describe the clones and their evolution. Finally,we cluster all clone's vectors,which are generated with the different metrics for different proposes. Experimental results on six open source software packages have shown the relationships among the clone life,the number of change times,the clone pattern and et al. can help developers to understand clones. 展开更多
关键词 code clones clone clustering clone analysis clone evolution empirical study
在线阅读 下载PDF
SSA-HIAST: A Novel Framework for Code Clone Detection
2
作者 Neha Saini Sukhdip Singh 《Computers, Materials & Continua》 SCIE EI 2022年第5期2999-3017,共19页
In the recent era of software development,reusing software is one of the major activities that is widely used to save time.To reuse software,the copy and paste method is used and this whole process is known as code cl... In the recent era of software development,reusing software is one of the major activities that is widely used to save time.To reuse software,the copy and paste method is used and this whole process is known as code cloning.This activity leads to problems like difficulty in debugging,increase in time to debug and manage software code.In the literature,various algorithms have been developed to find out the clones but it takes too much time as well as more space to figure out the clones.Unfortunately,most of them are not scalable.This problem has been targeted upon in this paper.In the proposed framework,authors have proposed a new method of identifying clones that takes lesser time to find out clones as compared with many popular code clone detection algorithms.The proposed framework has also addressed one of the key issues in code clone detection i.e.,detection of near-miss(Type-3)and semantic clones(Type-4)with significant accuracy of 95.52%and 92.80%respectively.The present study is divided into two phases,the first method converts any code into an intermediate representation form i.e.,Hashinspired abstract syntax trees.In the second phase,these abstract syntax trees are passed to a novel approach“Similarity-based self-adjusting hash inspired abstract syntax tree”algorithm that helps in knowing the similarity level of codes.The proposed method has shown a lot of improvement over the existing code clones identification methods. 展开更多
关键词 code cloning clone detection hash inspired abstract syntax tree ROTATIONS hybrid framework
在线阅读 下载PDF
Code Clone Detection Method Based on the Combination of Tree-Based and Token-Based Methods
3
作者 Ryota Ami Hirohide Haga 《Journal of Software Engineering and Applications》 2017年第13期891-906,共16页
This article proposes the high-speed and high-accuracy code clone detection method based on the combination of tree-based and token-based methods. Existence of duplicated program codes, called code clone, is one of th... This article proposes the high-speed and high-accuracy code clone detection method based on the combination of tree-based and token-based methods. Existence of duplicated program codes, called code clone, is one of the main factors that reduces the quality and maintainability of software. If one code fragment contains faults (bugs) and they are copied and modified to other locations, it is necessary to correct all of them. But it is not easy to find all code clones in large and complex software. Much research efforts have been done for code clone detection. There are mainly two methods for code clone detection. One is token-based and the other is tree-based method. Token-based method is fast and requires less resources. However it cannot detect all kinds of code clones. Tree-based method can detect all kinds of code clones, but it is slow and requires much computing resources. In this paper combination of these two methods was proposed to improve the efficiency and accuracy of detecting code clones. Firstly some candidates of code clones will be extracted by token-based method that is fast and lightweight. Then selected candidates will be checked more precisely by using tree-based method that can find all kinds of code clones. The prototype system was developed. This system accepts source code and tokenizes it in the first step. Then token-based method is applied to this token sequence to find candidates of code clones. After extracting several candidates, selected source codes will be converted into abstract syntax tree (AST) for applying tree-based method. Some sample source codes were used to evaluate the proposed method. This evaluation proved the improvement of efficiency and precision of code clones detecting. 展开更多
关键词 code clone Token-Based DETECTION Tree-Based DETECTION TREE EDIT Distance
暂未订购
CloneIRD:面向代码溯源的克隆代码继承关系判定方法
4
作者 姜智文 任怡 +3 位作者 杨立明 管剑波 李宝 谭郁松 《郑州大学学报(理学版)》 CAS 北大核心 2024年第2期18-25,共8页
随着开源软件的广泛使用,代码溯源成为管理软件源代码、降低潜在风险的重要技术手段。基于代码克隆检测的大规模代码溯源分析,从其检测结果中鉴别代码克隆对之间的继承关系,对代码来源追踪、组件依赖关系分析、软件脆弱性分析以及代码... 随着开源软件的广泛使用,代码溯源成为管理软件源代码、降低潜在风险的重要技术手段。基于代码克隆检测的大规模代码溯源分析,从其检测结果中鉴别代码克隆对之间的继承关系,对代码来源追踪、组件依赖关系分析、软件脆弱性分析以及代码缺陷修复等具有重要意义。目前,已有方法在原始代码片段存在微小修改的情况下,会产生许多误判,并且检测克隆对的效率也有待提高。针对上述问题,提出了代码溯源中克隆代码继承关系的判定方法CloneIRD,包括一个基于自研快速分布式克隆检测工具FastDCF的代码溯源分析框架,以及该框架的核心算法——基于代码演化信息的克隆代码继承关系判定算法EIHR。为验证框架和算法的有效性,首先设计并实现了CloneIRD方法,并在Linux内核V4.9和V4.12的开源代码上进行了实验。实验结果表明,CloneIRD方法能够有效判定代码溯源结果中克隆对的继承关系,且基于FastDCF的溯源分析框架能够胜任大规模代码的溯源分析任务。 展开更多
关键词 代码溯源 克隆代码 克隆检测 代码继承关系
在线阅读 下载PDF
Anti-obfuscation Binary Code Clone Detection Based on Software Gene
5
作者 Ke Tang Fudong Liu +1 位作者 Zheng Shan Chunyan Zhang 《国际计算机前沿大会会议论文集》 2021年第1期193-208,共16页
Information technology facilitates people’s lives greatly,while it also brings many security issues, such as code plagiarism, softwarein-fringement, and malicious code. In order to solve the problems,reverse engineer... Information technology facilitates people’s lives greatly,while it also brings many security issues, such as code plagiarism, softwarein-fringement, and malicious code. In order to solve the problems,reverse engineering is applied to analyze abundant binary code manually,which costs a lot of time. However, due to the maturity of differentobfuscation techniques, the disassembly code generated from the samefunction differs greatly in the opcode and control flow graph throughdifferent obfuscation options. This paper propose a method inspired bynatural language processing, to realize the semantic similarity matchingof binary code in basic block granularity and function granularity. In thesimilarity matching task of binary code obtained by different obfuscationoptions of LLVM, the indicator reaches 99%, which is better than theexisting technologies. 展开更多
关键词 O-LLVM Anti-obfuscation code cloning detection Machine learning Software gene
原文传递
大模型生成代码的开源许可证违规风险洞察与分析
6
作者 王毅博 王莹 +3 位作者 余跃 许畅 于海 朱志良 《软件学报》 北大核心 2025年第6期2535-2557,共23页
大型语言模型的快速发展极大地影响了软件工程领域.这些模型利用大量开源仓库代码进行预训练,能够高效完成诸如代码生成和代码补全等任务.然而,开源软件仓库中存在大量受开源许可证约束的代码,这给大模型带来了潜在的开源许可证违规风险... 大型语言模型的快速发展极大地影响了软件工程领域.这些模型利用大量开源仓库代码进行预训练,能够高效完成诸如代码生成和代码补全等任务.然而,开源软件仓库中存在大量受开源许可证约束的代码,这给大模型带来了潜在的开源许可证违规风险.聚焦于大模型生成代码与开源仓库的许可证违规风险,基于代码克隆技术开发一个支持大模型生成代码溯源与版权违规问题的检测框架.针对9个主流代码大模型生成的135000个Python代码,利用该框架在开源社区中溯源并检测开源许可证兼容性.通过实践调查3个研究问题来探究大模型代码生成对开源软件生态的影响:(1)大模型生成的代码多大程度克隆于开源软件仓库?(2)大模型生成的代码是否存在开源许可证违规风险?(3)真实开源软件中包含的大模型生成代码是否存在开源许可证违规风险?实验结果发现在使用功能描述和方法签名所生成的43130和65900个大于6行的Python代码中,分别溯源到了68.5%和60.9%的代码存在克隆的开源代码片段.其中CodeParrot和CodeGen系列模型的克隆比例最高,GPT-3.5-Turbo最低.其次,92.7%的通过功能描述生成的代码中没有开源许可证声明.通过与溯源代码许可证进行对比,81.8%的代码存在开源许可证违规风险.此外,在收集到的229个GitHub平台开发者使用大模型生成的代码中,有136个代码溯源了到开源代码片段,其中38个为Type1和Type2克隆类型,有30个存在开源许可证违规风险.以问题报告的形式提交给开发者,到目前为止,得到了8位开发者的反馈. 展开更多
关键词 大语言模型 开源许可证 开源许可证冲突 代码克隆 代码搜索
在线阅读 下载PDF
基于代码特征的代码克隆搜索方法
7
作者 张明睿 陈碧欢 +1 位作者 张跃 赵文耘 《计算机应用与软件》 北大核心 2025年第3期7-14,共8页
当前代码克隆搜索的研究主要集中在了搜索实现方式相同或变化不大的代码克隆上,对于语义代码克隆搜索,当前的方法表现不佳。为了提高语义代码克隆搜索的准确性,提出一个基于代码特征的代码克隆搜索方法,对代码片段建立代码图,并在图中... 当前代码克隆搜索的研究主要集中在了搜索实现方式相同或变化不大的代码克隆上,对于语义代码克隆搜索,当前的方法表现不佳。为了提高语义代码克隆搜索的准确性,提出一个基于代码特征的代码克隆搜索方法,对代码片段建立代码图,并在图中抽取关键节点来构造语义特征表示,使用倒排索引以及基于TF-IDF的评分算法进行搜索。实验结果表明,在语义代码克隆搜索能力上,所提出的方法比现有方法有较大提升。 展开更多
关键词 代码克隆 克隆检测 代码搜索 代码克隆搜索 特征提取
在线阅读 下载PDF
最长公共子序列嵌入支持下的代码相似性检测
8
作者 弓媛君 黄建军 +4 位作者 游伟 石文昌 梁彬 边攀 张健 《软件学报》 北大核心 2025年第11期4975-4989,共15页
最长公共子序列(longest common subsequence,LCS)是一种衡量代码相似度的可行指标.然而,经典LCS算法的时间复杂度较高,难以应对大型数据集,并且,由于代码文本序列中的词(token)本质为一种基于离散表示的编码,直接使用LCS算法无法有效... 最长公共子序列(longest common subsequence,LCS)是一种衡量代码相似度的可行指标.然而,经典LCS算法的时间复杂度较高,难以应对大型数据集,并且,由于代码文本序列中的词(token)本质为一种基于离散表示的编码,直接使用LCS算法无法有效识别文本不同但语义相似的代码片段中的关键语义.针对这两方面的不足,提出一种面向LCS的嵌入方法,将代码间的LCS计算转换为代码低维稠密嵌入向量间的数值运算,并可以利用近似最近邻算法进一步加速其计算.为此,设计了一个可嵌入的基于LCS的距离度量方法,实验证明这种代码度量在提取函数关键语义的表现上优于对比嵌入工具使用的基于文本的距离或基于树的距离.同时,为了在嵌入过程中有重点地保留代码的关键语义,构建了两种损失函数和相应的训练集,识别文本上不同但语义上相似的代码元素,使模型在检测复杂代码克隆时有更好的表现.实验证明了该方法拥有很强的可扩展性,且其对复杂克隆的检测能力也保持在很高水平.将该技术应用于相似缺陷的识别,上报了23个未知缺陷,这些缺陷已被开发人员在实际项目中确认,其中有些复杂缺陷是难以被基于文本的LCS算法检出的. 展开更多
关键词 最长公共子序列(LCS) 代码相似性检测 代码嵌入 缺陷检测 克隆检测
在线阅读 下载PDF
基于代码克隆差异分析的函数模板挖掘和检索方法
9
作者 肖泉彬 陈源 +1 位作者 吴毅坚 彭鑫 《软件学报》 北大核心 2025年第6期2774-2793,共20页
在软件工程领域,代码库承载着丰富的知识资源,可以为开发者提供编程实践的案例参考.源代码中频繁出现的模式化重复片段,若能以代码模板的形式有效提炼,就能显著提升编程效率.当前实践中,开发者常常通过源代码搜索复用现有解决方案,然而... 在软件工程领域,代码库承载着丰富的知识资源,可以为开发者提供编程实践的案例参考.源代码中频繁出现的模式化重复片段,若能以代码模板的形式有效提炼,就能显著提升编程效率.当前实践中,开发者常常通过源代码搜索复用现有解决方案,然而此方法往往产生大量相似且冗余的结果,增加了后续筛选工作的负担.与此同时,以克隆代码为基础的模板挖掘技术往往未能涵盖由分散小克隆片段构成的广泛模式,进而限制了模板的实用性.提出了一种基于代码克隆检测的代码模板提取和检索方法,通过拼接多个片段级克隆以及提取和聚合方法级克隆的共享部分,实现了更高效的函数级代码模板提取,并解决了模板质量问题.基于所挖掘的代码模板,提出了一种代码结构特征的三元组表示法,有效地对纯文本特征进行补充,并实现了高效而简洁的结构表示.此外,提出了一种结构和文本检索相结合的模板特征检索方法,以便通过匹配编程上下文的特征来检索这些模板.基于该方法实现的工具CodeSculptor,在包含45个高质量Java开源项目的代码库测试中展现了其提取高质量代码模板的显著能力.结果表明,该工具挖掘的模板平均可实现减少60.87%的代码量,且有92.09%是通过拼接片段级克隆产生的,这一比例的模板在传统方法中是无法识别出来的,这印证了该方法在识别和构建代码模板方面的卓越性能.在代码模板检索和推荐的实验中,Top-5检索结果精确度达到了96.87%.通过对随机选择的9600个模板进行的初步案例研究,讨论了模板的实用性,并发现大多数抽样代码模板在语义上是完整的,少数无意义的模板表明该模板提取工作未来的潜力.用户研究进一步表明,使用CodeSculptor能够更有效率地完成代码开发任务. 展开更多
关键词 克隆检测 代码检索 特征表示 软件开发 代码复用
在线阅读 下载PDF
基于增强控制流图与孪生网络架构的代码克隆检测方法
10
作者 熊曙初 段金焱 +1 位作者 尹璐 曾智勇 《计算机应用研究》 北大核心 2025年第7期2132-2140,共9页
针对现有代码克隆检测方法存在上下文信息缺失以及语义学习能力弱的问题,提出一种基于增强控制流图与孪生网络架构的代码克隆检测方法。该方法首先设计了代码表示结构ECFG(enhanced control flow graph),在控制流图中嵌入跨节点关联边... 针对现有代码克隆检测方法存在上下文信息缺失以及语义学习能力弱的问题,提出一种基于增强控制流图与孪生网络架构的代码克隆检测方法。该方法首先设计了代码表示结构ECFG(enhanced control flow graph),在控制流图中嵌入跨节点关联边以强化上下文信息的感知;其次构建基于孪生网络架构的代码语义匹配模型CGSMN(code graph semantic matching network)。该模型先融合多头注意力机制,提取节点中的关键信息,随后改进关系图注意力网络,捕获节点间的关联信息以生成图特征向量,再挖掘特征向量间的语义联系,计算语义相似度。在两个代表性数据集上进行实证,结果表明,与ASTNN、FA-AST和DHAST等方法相比,在BigCloneBench数据集上,F_(1)值提升了0.5~15.5百分点,在Google Code Jam数据集上F_(1)值提升了1.5~16.5百分点,证明了该方法针对语义克隆检测的有效性。 展开更多
关键词 控制流图 孪生网络架构 代码表征 语义相似性 克隆检测
在线阅读 下载PDF
TPLADD:高鲁棒性与高精度的C/C++第三方库检测方法
11
作者 贾昀峰 王俊峰 吴鹏 《计算机科学与探索》 北大核心 2025年第7期1969-1980,共12页
第三方库(TPL)作为现代C/C++软件开发的重要组成部分,其精确检测与管理对于保障软件质量与安全性至关重要。然而现有方法主要依赖代码语法特征,对TypeⅡ和TypeⅢ克隆重用场景的适应性不足,易导致检测失效。提出一种基于函数抽象语法树(A... 第三方库(TPL)作为现代C/C++软件开发的重要组成部分,其精确检测与管理对于保障软件质量与安全性至关重要。然而现有方法主要依赖代码语法特征,对TypeⅡ和TypeⅢ克隆重用场景的适应性不足,易导致检测失效。提出一种基于函数抽象语法树(AST)特征的TPL检测方法TPLADD。该方法利用AST节点度数与次序的度量信息快速实现函数语法向量嵌入,并结合向量数据库与近似最近邻检索技术,显著提升了修改重用场景下的检测鲁棒性。基于异常检测的过滤技术可以有效减少干扰函数对检测的影响,提高结果精确性。基于GitHub搜集的29 782个开源软件(OSS)共计726 074个版本,构建了特征向量索引库,并在100个知名项目上验证有效性。实验结果表明,在精度上,TPLADD相较于CENTRIS,精确率和召回率分别提升了3.88和2.76个百分点;在鲁棒性上,TPLADD即使出现较大程度代码修改时,仍能保持74%的F1值;在性能上,TPLADD平均每个TPL检测耗时仅0.42 s,索引库存储占用率仅为总体函数特征的0.41%。这些充分体现了TPLADD高鲁棒性、高精确性的特点,且具备良好的性能表现。 展开更多
关键词 开源软件 软件组件分析 第三方库检测 代码克隆 修改重用 静态分析
在线阅读 下载PDF
基于特征工程的代码克隆检测方法
12
作者 王国喜 王欢 许萌 《应用技术学报》 2025年第3期306-312,共7页
代码克隆在软件开发中普遍存在,虽可在短期内提升开发效率,但长期会导致代码质量下降、维护成本增加及安全风险上升。在企业环境中,部分开发者为了提高研发效能评估评分,可能刻意提交重复代码,这不仅影响项目质量,还会破坏评估公平性。... 代码克隆在软件开发中普遍存在,虽可在短期内提升开发效率,但长期会导致代码质量下降、维护成本增加及安全风险上升。在企业环境中,部分开发者为了提高研发效能评估评分,可能刻意提交重复代码,这不仅影响项目质量,还会破坏评估公平性。传统检测方法效率低,基于深度学习的模型又面临计算资源消耗大和依赖大量标注数据的问题。为此,提出一种基于特征工程的轻量化机器学习检测框架,通过预训练代码模型生成特征向量,结合相似性算法、代码变更行信息和提交时间序列构建多维特征空间,并评估多种机器学习模型的性能。实验表明,基于所构建特征集训练的模型在企业数据集上表现良好,能够高效、精准地检测代码克隆,为构建可信研发效能体系提供了新思路。 展开更多
关键词 代码克隆检测 研发效能评估 特征工程 机器学习
在线阅读 下载PDF
A Recommendation Approach Based on Bayesian Networks for Clone Refactor
13
作者 Ye Zhai Celimuge Wu +1 位作者 Dongsheng Liu Rongrong She 《Computers, Materials & Continua》 SCIE EI 2020年第9期1999-2012,共14页
Reusing code fragments by copying and pasting them with or without minor adaptation is a common activity in software development.As a result,software systems often contain sections of code that are very similar,called... Reusing code fragments by copying and pasting them with or without minor adaptation is a common activity in software development.As a result,software systems often contain sections of code that are very similar,called code clones.Code clones are beneficial in reducing software development costs and development risks.However,recent studies have indicated some negative impacts as a result.In order to effectively manage and utilize the clones,we design an approach for recommending refactoring clones based on a Bayesian network.Firstly,clone codes are detected from the source code.Secondly,the clones that need to be refactored are identified,and the static and evolutions features are extracted to build the feature database.Finally,the Bayesian network classifier is used for training and evaluating the classification results.Based on more than 640 refactor examples of five open source software developed in C,we observe a considerable enhancement.The results show that the accuracy of the approach is larger than 90%.We believe our approach will provide a more accurate and reasonable code refactoring and maintenance advice for software developers. 展开更多
关键词 clone code clone refactor feature extraction Bayesian network
在线阅读 下载PDF
代码相似性检测技术综述 被引量:3
14
作者 孙祥杰 魏强 +1 位作者 王奕森 杜江 《计算机应用》 CSCD 北大核心 2024年第4期1248-1258,共11页
代码复用为软件开发带来便利的同时也引入了安全风险,如加速漏洞传播、代码恶意抄袭等,代码相似性检测技术通过分析代码间词法、语法、语义等信息计算代码相似程度,是判断代码复用最有效的技术之一,也是近年发展较快的程序安全分析技术... 代码复用为软件开发带来便利的同时也引入了安全风险,如加速漏洞传播、代码恶意抄袭等,代码相似性检测技术通过分析代码间词法、语法、语义等信息计算代码相似程度,是判断代码复用最有效的技术之一,也是近年发展较快的程序安全分析技术。首先,系统梳理代码相似性检测的近期技术进展,根据目标代码是否开源,将代码相似性检测技术分为源码相似性检测和二进制代码相似性检测,又根据编程语言、指令集的不同进行二次细分;其次,总结每一种技术的思路和研究成果,分析机器学习技术在代码相似性检测领域成功的案例,并讨论现有技术的优势与不足;最后,给出代码相似性检测技术的发展趋势,为相关研究人员提供参考。 展开更多
关键词 二进制代码相似性 源代码相似性 跨语言代码相似性 深度学习 代码克隆
在线阅读 下载PDF
基于对比学习的跨语言代码克隆检测方法 被引量:2
15
作者 吕泉润 谢春丽 +1 位作者 万泽轩 魏家劲 《计算机应用研究》 CSCD 北大核心 2024年第7期2147-2152,共6页
代码克隆检测是提高软件开发效率、软件质量和可靠性的重要手段。基于抽象语法树(abstract syntax tree,AST)的单语言克隆检测已经取得了较为显著的效果,但跨语言代码的AST节点存在同义词、近义词且手工标注数据集成本高等问题,限制了... 代码克隆检测是提高软件开发效率、软件质量和可靠性的重要手段。基于抽象语法树(abstract syntax tree,AST)的单语言克隆检测已经取得了较为显著的效果,但跨语言代码的AST节点存在同义词、近义词且手工标注数据集成本高等问题,限制了现有克隆检测方法的有效性和实用性。针对上述问题,提出一种基于对比学习的树卷积神经网络(contrastive tree convolutional neuraln etwork,CTCNN)的跨语言代码克隆检测方法。该方法首先将不同编程语言的代码解析为AST,并对AST的节点类型和节点值作同义词转换处理,以降低不同编程语言AST之间的差异;同时,采用对比学习扩充负样本并对模型进行训练,使得在小样本数据集下能够最小化克隆对之间的距离,最大化非克隆对之间的距离。最后在公开数据集上进行了评测,精确度达到95.26%、召回率为99.98%、F_(1)为97.56%。结果表明,相较于现有的最好的CLCDSA和C4方法,该模型的检测精度分别提高了432%和3.73%,其F_(1)值分别提升了29.84%和6.29%,证明了所提模型是一种有效的跨语言代码克隆检测方法。 展开更多
关键词 跨语言 代码克隆 对比学习 抽象语法树
在线阅读 下载PDF
基于依赖增强的分层抽象语法树的代码克隆检测 被引量:2
16
作者 万泽轩 谢春丽 +1 位作者 吕泉润 梁瑶 《计算机应用》 CSCD 北大核心 2024年第4期1259-1268,共10页
在软件工程领域,基于语义相似的代码克隆检测方法可以降低软件维护的成本并预防系统漏洞,抽象语法树(AST)作为典型的代码抽象表征形式,已成功应用于多种程序语言的代码克隆检测任务,然而现有工作主要利用原始AST提取代码的语义,没有深... 在软件工程领域,基于语义相似的代码克隆检测方法可以降低软件维护的成本并预防系统漏洞,抽象语法树(AST)作为典型的代码抽象表征形式,已成功应用于多种程序语言的代码克隆检测任务,然而现有工作主要利用原始AST提取代码的语义,没有深入挖掘AST中的深层语义和结构信息。针对上述问题,提出一种基于依赖增强的分层抽象语法树(DEHAST)的代码克隆检测方法。首先,对AST进行分层处理,将AST划分得到不同的语义层次;其次,为AST的不同层次添加相应的依赖增强边构建DEHAST,将简单的AST变成具有更丰富程序语义的异构图;最后,使用图匹配网络(GMN)模型检测异构图的相似性,实现代码克隆检测。在BigCloneBench和Google Code Jam两个数据集上的实验结果显示,DEHAST能够检测100%的Type-1和Type-2代码克隆、99%的Type-3代码克隆和97%的Type-4代码克隆;与基于树的方法ASTNN(AST-based Neural Network)相比,F1分数均提高了4个百分点,验证了DEHAST可以较好地完成代码语义克隆检测。 展开更多
关键词 代码克隆检测 语义克隆 抽象语法树 深度学习 图匹配网络
在线阅读 下载PDF
CHANN:A Hierarchical Neural Network for Clone Consistency Prediction
17
作者 Fan-Long Zhang Yu-Chen Chen +1 位作者 Siau-Cheng Khoo Wen-Chao Jiang 《Journal of Computer Science & Technology》 2025年第1期178-195,共18页
Modifying a code segment may give rise to a consistency issue when the code segment belongs to a clone group comprising closely similar code segments.Recent studies have demonstrated that such consistent changes can i... Modifying a code segment may give rise to a consistency issue when the code segment belongs to a clone group comprising closely similar code segments.Recent studies have demonstrated that such consistent changes can incur extra maintenance costs when clones are checked for consistency and introduce defects if developers forget to change clones consistently when needed.To address this problem,researchers have proposed an approach to predict clone consistency in advance with handcrafted attributes,notably using machine learning methods.Although these attributes can help predict clone consistency to some extent,the capability of such an approach is generally weak and unsatisfactory in practice.Such limitations in capability are especially severe at a project's infancy stage when there is not sufficient within-project data to model clone consistency behavior,and cross-project data have not been helpful in supporting prediction.In this paper,we propose the Clone Hierarchical Attention Neural Network(CHANN)to represent code clones and their evolution by adopting a hierarchical perspective of code,context,and code evolution,and thus enhancing the effectiveness of clone consistency prediction.To assess the effectiveness of CHANN,we conduct experiments on the dataset collected from eight open-source projects.The experimental results show that CHANN is highly effective in predicting clone consistency,and the precision,recall,and F-measure attained in prediction are around 82%.These findings support our hypothesis that the hierarchical neural network can help developers predict clone consistency effectively in the case of cross-project incubation when insufficient data are available at the early stage of software development. 展开更多
关键词 code clone clone consistent change clone consistency prediction software maintenance deep learning
原文传递
基于词汇的源代码克隆检测技术综述
18
作者 刘春玲 戚旭衍 +3 位作者 唐永鹤 孙雪凯 李晴浩 张雨 《计算机科学》 CSCD 北大核心 2024年第6期12-22,共11页
代码克隆指在软件开发过程中对源代码复用、修改、重构产生的文本相似或结构相似的代码。代码克隆对提升软件开发效率、节约开发成本有积极作用,但也会引起Bug传播,并对软件的稳定性、可维护性产生负面影响。代码克隆检测在剽窃检测、... 代码克隆指在软件开发过程中对源代码复用、修改、重构产生的文本相似或结构相似的代码。代码克隆对提升软件开发效率、节约开发成本有积极作用,但也会引起Bug传播,并对软件的稳定性、可维护性产生负面影响。代码克隆检测在剽窃检测、漏洞检测、版权侵权等领域具有重要的研究意义和应用价值。基于词汇的克隆检测技术能快速检测1-3型克隆,能扩展到其他编程语言,已被广泛应用于大规模克隆检测任务中。文中对近5年基于词汇的克隆检测技术的研究现状进行了梳理,根据相似性算法中的基本计算粒度将其分为4类,并对10余个技术特征进行了分析和总结,讨论其局限性及面临的挑战,最后结合新技术的发展提出了基于词汇的克隆检测技术未来可能的研究方向。 展开更多
关键词 软件安全 源代码克隆检测 代码表征 深度学习
在线阅读 下载PDF
一种利用抽象语法树的源代码克隆检测模型
19
作者 孙雪凯 刘春玲 蒋烈辉 《信息工程大学学报》 2024年第6期667-673,共7页
代码克隆在提高开发效率和降低开发成本的同时,也会给软件维护带来困难,并导致代码中漏洞和错误的传播。针对代码克隆检测问题,借助于抽象语法树(AST),提出一种能够捕捉语义和结构信息的源代码克隆检测模型。首先,该模型利用代码片段的... 代码克隆在提高开发效率和降低开发成本的同时,也会给软件维护带来困难,并导致代码中漏洞和错误的传播。针对代码克隆检测问题,借助于抽象语法树(AST),提出一种能够捕捉语义和结构信息的源代码克隆检测模型。首先,该模型利用代码片段的抽象语法树获得一个路径集合,并生成对应的路径上下文;其次,通过一个全连接神经网络对路径进行编码,将编码后的路径聚合为一个向量来表示代码片段;最后,通过计算两个代码向量之间的距离获得它们的语义相关性,再利用神经网络和一个sigmoid函数获得它们的相似性。实验结果表明,所提出的模型能够有效检测出源代码的功能相似性。 展开更多
关键词 软件开发 代码克隆 软件维护 抽象语法树 神经网络
在线阅读 下载PDF
雄激素受体调控的lncRNA ARLNC1对前列腺癌细胞增殖、克隆、迁移和细胞周期的影响
20
作者 郑江婷 尹冶 +1 位作者 寸淑娥 王玉明 《现代肿瘤医学》 CAS 2024年第2期220-226,共7页
目的:探讨雄激素受体(androgen receptor,AR)调控的长链非编码RNA(long non-coding RNA,lncRNA)ARLNC1对前列腺癌细胞增殖、克隆、迁移和细胞周期的影响。方法:选取正常前列腺上皮细胞株WPMY-1和前列腺癌细胞株PC3、VCaP、22RV1、DU145... 目的:探讨雄激素受体(androgen receptor,AR)调控的长链非编码RNA(long non-coding RNA,lncRNA)ARLNC1对前列腺癌细胞增殖、克隆、迁移和细胞周期的影响。方法:选取正常前列腺上皮细胞株WPMY-1和前列腺癌细胞株PC3、VCaP、22RV1、DU145和LNCaP为研究对象,qRT-PCR分析lncRNA ARLNC1的表达水平;双氢睾酮(DHT)以时间和浓度依赖的方式刺激LNCaP细胞,分析lncRNA ARLNC1的转录水平;采用数据库预测和双荧光素酶报告基因系统分析雄激素受体与lncRNA ARLNC1的关系;将LNCaP细胞分为sh-NC和sh-lncRNA ARLNC1组,采用CCK-8分析细胞增殖,检测细胞克隆和迁移能力;流式细胞仪分析细胞周期变化,Western blot分析细胞周期蛋白CyclinD1、CDK6、p27的表达水平。结果:与正常前列腺上皮细胞相比,lncRNA ARLNC1在雄激素依赖性前列腺癌细胞株(LNCaP、VCaP、22RV1)中的表达水平明显增加,而在雄激素非依赖性前列腺癌细胞株(PC3、DU145)中几乎不表达(P<0.05),其中LNCaP细胞变化最显著,所以下续选用LNCaP细胞作为实验株。100 nmol/L DHT刺激LNCaP细胞0、6、12、18、24 h后,lncRNA ARLNC1的转录水平相对于对照组以时间依赖的方式逐渐升高(P<0.05);不同浓度(0、0.1、1、10、100 nmol/L)DHT刺激LNCaP细胞24 h后,lncRNA ARLNC1转录水平随浓度不断增加(P<0.05);JASPAR数据库预测到lncRNA ARLNC1启动子区域有AR结合的位点,双荧光素酶报告基因系统表明AR能结合在lncRNA ARLNC1启动子区域,并激活其转录(P<0.05);与sh-NC组相比,sh-lncRNA ARLNC1组细胞增殖、迁移和克隆能力减弱,细胞周期阻滞在S、G 2期(P<0.05);sh-NC组相对于sh-lncRNA ARLNC1组,CyclinD1、CDK6蛋白水平增加,而p27蛋白水平降低(P<0.05)。结论:AR调控的lncRNA ARLNC1作为癌基因在雄激素受体阳性的前列腺癌细胞系中高表达,能促进前列腺癌细胞的增殖、克隆、迁移和细胞周期进展。 展开更多
关键词 前列腺癌 长链非编码RNA 雄激素受体 增殖 克隆 迁移 细胞周期
暂未订购
上一页 1 2 9 下一页 到第
使用帮助 返回顶部