期刊文献+
共找到154篇文章
< 1 2 8 >
每页显示 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
下载PDF
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
原文传递
A Recommendation Approach Based on Bayesian Networks for Clone Refactor
6
作者 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
代码相似性检测技术综述
7
作者 孙祥杰 魏强 +1 位作者 王奕森 杜江 《计算机应用》 CSCD 北大核心 2024年第4期1248-1258,共11页
代码复用为软件开发带来便利的同时也引入了安全风险,如加速漏洞传播、代码恶意抄袭等,代码相似性检测技术通过分析代码间词法、语法、语义等信息计算代码相似程度,是判断代码复用最有效的技术之一,也是近年发展较快的程序安全分析技术... 代码复用为软件开发带来便利的同时也引入了安全风险,如加速漏洞传播、代码恶意抄袭等,代码相似性检测技术通过分析代码间词法、语法、语义等信息计算代码相似程度,是判断代码复用最有效的技术之一,也是近年发展较快的程序安全分析技术。首先,系统梳理代码相似性检测的近期技术进展,根据目标代码是否开源,将代码相似性检测技术分为源码相似性检测和二进制代码相似性检测,又根据编程语言、指令集的不同进行二次细分;其次,总结每一种技术的思路和研究成果,分析机器学习技术在代码相似性检测领域成功的案例,并讨论现有技术的优势与不足;最后,给出代码相似性检测技术的发展趋势,为相关研究人员提供参考。 展开更多
关键词 二进制代码相似性 源代码相似性 跨语言代码相似性 深度学习 代码克隆
下载PDF
基于词汇的源代码克隆检测技术综述
8
作者 刘春玲 戚旭衍 +3 位作者 唐永鹤 孙雪凯 李晴浩 张雨 《计算机科学》 CSCD 北大核心 2024年第6期12-22,共11页
代码克隆指在软件开发过程中对源代码复用、修改、重构产生的文本相似或结构相似的代码。代码克隆对提升软件开发效率、节约开发成本有积极作用,但也会引起Bug传播,并对软件的稳定性、可维护性产生负面影响。代码克隆检测在剽窃检测、... 代码克隆指在软件开发过程中对源代码复用、修改、重构产生的文本相似或结构相似的代码。代码克隆对提升软件开发效率、节约开发成本有积极作用,但也会引起Bug传播,并对软件的稳定性、可维护性产生负面影响。代码克隆检测在剽窃检测、漏洞检测、版权侵权等领域具有重要的研究意义和应用价值。基于词汇的克隆检测技术能快速检测1-3型克隆,能扩展到其他编程语言,已被广泛应用于大规模克隆检测任务中。文中对近5年基于词汇的克隆检测技术的研究现状进行了梳理,根据相似性算法中的基本计算粒度将其分为4类,并对10余个技术特征进行了分析和总结,讨论其局限性及面临的挑战,最后结合新技术的发展提出了基于词汇的克隆检测技术未来可能的研究方向。 展开更多
关键词 软件安全 源代码克隆检测 代码表征 深度学习
下载PDF
基于对比学习的跨语言代码克隆检测方法
9
作者 吕泉润 谢春丽 +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
基于依赖增强的分层抽象语法树的代码克隆检测
10
作者 万泽轩 谢春丽 +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
雄激素受体调控的lncRNA ARLNC1对前列腺癌细胞增殖、克隆、迁移和细胞周期的影响
11
作者 郑江婷 尹冶 +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 雄激素受体 增殖 克隆 迁移 细胞周期
下载PDF
LncRNA MEG3调控糖尿病肾病足细胞损伤的机制研究
12
作者 马翠 龚蜇强 +1 位作者 高玉章 温秀梅 《浙江医学》 CAS 2024年第16期1719-1724,共6页
目的探讨长链非编码RNA母系表达基因3(LncRNA MEG3)调控糖尿病肾病足细胞损伤的机制。方法采用葡萄糖诱导小鼠肾足细胞(MPC5)构建足细胞损伤模型。将细胞分为高糖组、高糖+短发夹RNA的阴性对照(sh-NC)组、高糖+干扰LncRNA MEG3表达的短... 目的探讨长链非编码RNA母系表达基因3(LncRNA MEG3)调控糖尿病肾病足细胞损伤的机制。方法采用葡萄糖诱导小鼠肾足细胞(MPC5)构建足细胞损伤模型。将细胞分为高糖组、高糖+短发夹RNA的阴性对照(sh-NC)组、高糖+干扰LncRNA MEG3表达的短发夹RNA(sh-LncRNA MEG3)组、高糖+sh-LncRNA MEG3+3-甲基腺嘌呤(3-MA)组、高糖+sh-LncRNA MEG3+干扰结节性硬化症复合体1表达的短发夹RNA(sh-TSC1)组和对照组。采用四甲基偶氮唑盐法检测MPC5活性,采用流式细胞术检测MPC5凋亡率,采用实时荧光定量PCR检测LncRNA MEG3相对表达水平,采用Western blot检测自噬相关蛋白[重组人自噬效应蛋白(Beclin-1)、结节性硬化症复合体1(TSC1)、选择性自噬接头蛋白(p62)和微管相关蛋白轻链3(LC3)]表达,采用荧光原位杂交技术检测LncRNA MEG3的表达定位。结果高糖组MPC5活性低于对照组,高糖+sh-NC组MPC5活性低于高糖+sh-LncRNA MEG3组,高糖+sh-LncRNA MEG3+sh-TSC1组、高糖+sh-LncRNA MEG3+3-MA组MPC5活性低于高糖+sh-LncRNA MEG3组(均P<0.01)。高糖组MPC5凋亡率高于对照组,高糖+sh-NC组MPC5凋亡率高于高糖+sh-LncRNA MEG3组,高糖+sh-LncRNA MEG3+sh-TSC1组、高糖+sh-LncRNA MEG3+3-MA组MPC5凋亡率高于高糖+sh-LncRNA MEG3组(均P<0.01)。高糖组MPC5的LncRNA MEG3相对表达水平高于对照组,高糖+sh-NC组MPC5的LncRNA MEG3相对表达水平高于高糖+sh-LncRNA MEG3组,差异均有统计学意义(均P<0.01)。高糖组LC3、Beclin-1、TSC1蛋白表达低于对照组,p62蛋白表达高于对照组,高糖+sh-LncRNA MEG3组LC3、Beclin-1、TSC1蛋白表达高于高糖+sh-NC组,p62蛋白表达低于高糖+sh-NC组,高糖+sh-LncRNA MEG3+sh-TSC1组TSC1蛋白表达低于高糖+sh-LncRNA MEG3组,高糖+sh-LncRNA MEG3+3-MA组、高糖+sh-LncRNA MEG3+sh-TSC1组的LC3、Beclin-1蛋白表达低于高糖+sh-LncRNA MEG3组,p62蛋白表达高于高糖+sh-LncRNA MEG3组,差异均有统计学意义(均P<0.01)。高糖+sh-LncRNA MEG3组TSC1蛋白表达高于高糖+sh-NC组,差异有统计学意义(P<0.01)。LncRNA MEG3在细胞核和细胞质中均可表达。结论LncRNA MEG3可通过靶向TSC1介导MPC5自噬,进而减轻糖尿病肾病足细胞损伤程度。 展开更多
关键词 糖尿病肾病 小鼠肾足细胞 长链非编码RNA母系表达基因3 结节性硬化症复合体1 自噬
下载PDF
基于Token编辑距离检测克隆代码 被引量:13
13
作者 张久杰 王春晖 +2 位作者 张丽萍 侯敏 刘东升 《计算机应用》 CSCD 北大核心 2015年第12期3536-3543,共8页
针对当前Type-3克隆代码检测工具较少、效率偏低等问题,提出了一种基于Token的能有效检测Type-3克隆代码的检测方法。该方法同时能有效检测Type-1和Type-2克隆代码。首先将源代码Token化得到特定代码粒度的Token串,其次将所有Token串的... 针对当前Type-3克隆代码检测工具较少、效率偏低等问题,提出了一种基于Token的能有效检测Type-3克隆代码的检测方法。该方法同时能有效检测Type-1和Type-2克隆代码。首先将源代码Token化得到特定代码粒度的Token串,其次将所有Token串的定长子串进行映射,在对映射信息进行查询的基础上,利用编辑距离算法确定克隆对,然后通过并查集算法快速构建克隆群,最终反馈克隆代码信息。实现了原型工具FClones,利用基于代码突变的框架对工具进行了评价,并与领域内较优秀的两款工具Ni Cad及Sim Cad进行了对比。实验结果表明,FClones在检测三类克隆代码时查全率均不低于95%,查准率均不低于98%,能更好地检测Type-3克隆代码。 展开更多
关键词 克隆代码 克隆检测 编辑距离 Type-3 TOKEN
下载PDF
基于软件多版本演化提取克隆谱系 被引量:10
14
作者 涂颖 张丽萍 +2 位作者 王春晖 侯敏 刘东升 《计算机应用》 CSCD 北大核心 2015年第4期1169-1173,1178,共6页
针对单个版本克隆检测结果不足以体现克隆特征这一问题,从软件多版本中自动提取克隆谱系,获得克隆在软件演化过程中表现出的模式和特征。首先基于克隆代码Token表示及其所在文件名称、函数名称等位置属性,准确映射软件历时演化版本间的... 针对单个版本克隆检测结果不足以体现克隆特征这一问题,从软件多版本中自动提取克隆谱系,获得克隆在软件演化过程中表现出的模式和特征。首先基于克隆代码Token表示及其所在文件名称、函数名称等位置属性,准确映射软件历时演化版本间的克隆代码,进而识别克隆演化模式;然后匹配克隆类ID号,合并所有相邻版本间的映射结果及演化模式信息,得到克隆谱系。同时开发了相应的克隆谱系自动提取工具FCG对6款开源软件进行了测试,发现当前版本中克隆代码平均生命周期占所研究版本总数的70%以上,且大部分没有发生变化,说明大部分克隆能被较好地维护,但也存在少量不稳定的克隆可能导致软件缺陷,需要修改或重构。实验结果表明FCG可高效提取克隆谱系,有助于更好地理解克隆及有针对性地管理克隆。 展开更多
关键词 克隆代码 克隆谱系 多版本 克隆演化 软件维护
下载PDF
克隆代码技术研究综述 被引量:13
15
作者 史庆庆 孟繁军 +1 位作者 张丽萍 刘东升 《计算机应用研究》 CSCD 北大核心 2013年第6期1617-1623,共7页
软件系统中克隆代码的检测与管理是软件工程中的基本问题之一,在软件的质量、维护、架构、进化、专利和剽窃等众多领域有着广泛的应用需求。综述了克隆检测的过程、技术及其优缺点、克隆进化方向上的相关研究,以及克隆管理的一些技术,... 软件系统中克隆代码的检测与管理是软件工程中的基本问题之一,在软件的质量、维护、架构、进化、专利和剽窃等众多领域有着广泛的应用需求。综述了克隆检测的过程、技术及其优缺点、克隆进化方向上的相关研究,以及克隆管理的一些技术,并特别介绍了克隆重构技术。最后概括了该领域所取得的研究成果,并讨论了目前克隆代码研究中所遇到的挑战性问题。 展开更多
关键词 克隆代码 克隆检测 克隆进化 克隆管理 克隆重构
下载PDF
基于主题建模技术的克隆群映射方法 被引量:11
16
作者 张瑞霞 张丽萍 +1 位作者 王春晖 侯敏 《计算机工程与设计》 北大核心 2015年第6期1524-1529,共6页
针对对源代码进行拷贝、粘贴及修改活动会导致软件中出现大量的克隆代码的问题,将主题建模技术应用于克隆代码,提出一种克隆群映射方法。运用主题建模技术将映射问题由高维的代码空间转化到低维的主题空间上,通过主题的映射间接实现映... 针对对源代码进行拷贝、粘贴及修改活动会导致软件中出现大量的克隆代码的问题,将主题建模技术应用于克隆代码,提出一种克隆群映射方法。运用主题建模技术将映射问题由高维的代码空间转化到低维的主题空间上,通过主题的映射间接实现映射相邻版本克隆群的目的。对4款开源软件进行方法评估,实验结果表明,使用该方法的查全率和查准率均高达0.99,其能够有效准确地实现相邻版本的克隆群映射。 展开更多
关键词 克隆代码 软件演化 主题 主题建模 克隆群映射
下载PDF
使用抽象语法树和静态分析的克隆代码自动重构方法 被引量:14
17
作者 于冬琦 彭鑫 赵文耘 《小型微型计算机系统》 CSCD 北大核心 2009年第9期1752-1760,共9页
单个软件系统中以及若干个相似系统之间的代码克隆给软件维护增加了很大困难.本文针对运用克隆侦测发现的相似代码片断,提出一种基于抽象语法树和静态分析的代码自动重构方法.该方法首先为克隆代码分别构造抽象语法树,然后运用语句差异... 单个软件系统中以及若干个相似系统之间的代码克隆给软件维护增加了很大困难.本文针对运用克隆侦测发现的相似代码片断,提出一种基于抽象语法树和静态分析的代码自动重构方法.该方法首先为克隆代码分别构造抽象语法树,然后运用语句差异度指标建立起语法树之间流程控制语句的对应关系.在此基础上,该方法根据控制流程和基本语句块两个层次上的差异性分析,最终通过代码可变点提取实现克隆代码的自动合并.针对Java代码开发了克隆代码重构支持工具原型,并分别针对JDK1.5和一个业务系统进行了自动重构实验.初步的结果表明,该方法能够准确、有效地辅助开发者实现克隆代码的自动重构. 展开更多
关键词 可变点提取 代码克隆 抽象语法树 再工程 逆向工程
下载PDF
基于后缀数组的克隆检测 被引量:7
18
作者 史庆庆 张丽萍 +1 位作者 尹丽丽 刘东升 《计算机工程》 CAS CSCD 2013年第9期123-127,共5页
程序员对源代码的拷贝、粘贴及修改活动会导致软件中出现大量克隆代码,增加软件开发和维护的成本。为解决该问题,提出一种新的克隆检测方法。利用基于后缀数组的算法查找重复的Token子串,进而检测出克隆代码,开发相应的克隆检测工具SaCD... 程序员对源代码的拷贝、粘贴及修改活动会导致软件中出现大量克隆代码,增加软件开发和维护的成本。为解决该问题,提出一种新的克隆检测方法。利用基于后缀数组的算法查找重复的Token子串,进而检测出克隆代码,开发相应的克隆检测工具SaCD,用其检测29款C语言开源软件。实验结果表明,SaCD能快速有效地检测软件中的Type-1和Type-2语句克隆,其检测速度比传统的克隆检测工具CCFinderx快了近20倍。 展开更多
关键词 克隆代码 克隆检测 Token串 后缀数组 重复子串 DC3算法
下载PDF
基于版本间克隆映射的演化模式识别及谱系构建 被引量:4
19
作者 张久杰 翟晔 +2 位作者 王春晖 张丽萍 刘东升 《计算机应用》 CSCD 北大核心 2016年第7期2021-2030,共10页
针对当前克隆谱系的构建方法较为复杂、演化模式亟需扩充等问题,提出了新的克隆代码演化模式,并根据软件版本间的克隆代码映射关系自动构建了克隆谱系。首先,针对软件每一版本进行克隆检测并利用潜在狄利克雷分配(LDA)抽取克隆代码的主... 针对当前克隆谱系的构建方法较为复杂、演化模式亟需扩充等问题,提出了新的克隆代码演化模式,并根据软件版本间的克隆代码映射关系自动构建了克隆谱系。首先,针对软件每一版本进行克隆检测并利用潜在狄利克雷分配(LDA)抽取克隆代码的主题信息;然后,根据克隆代码主题的相似度确定版本间克隆代码的映射关系;进而,根据已有的映射关系为克隆代码添加演化模式并分析演化特征;最终,结合映射信息与演化模式信息完成克隆谱系的构建。针对4款开源软件进行了克隆谱系的构建实验,实验结果表明所提克隆谱系构建方法可行,证实了新提出的演化模式在克隆代码演化过程中确实存在。实验发现约90%的克隆代码在软件演化过程中比较稳定,约67%的克隆群经历的发布版本数不超过发布版本总数的一半。实验结论及理论分析将为克隆代码的后续研究及克隆代码的维护与管理提供有力支持。 展开更多
关键词 克隆代码 主题建模 软件演化 演化模式 克隆谱系 软件维护
下载PDF
基于相似性度量的面向对象程序方法级克隆侦测 被引量:4
20
作者 于冬琦 吴毅坚 +1 位作者 彭鑫 赵文耘 《电子学报》 EI CAS CSCD 北大核心 2010年第B02期174-181,共8页
代码克隆侦测对于代码重构以及可复用资产抽取都有着重要的作用.现有的克隆侦测方法及工具以相似代码片段为单位,给进一步的克隆分析以及代码重构带来困难.针对这一问题,本文提出了一种基于相似性度量的面向对象程序方法级克隆侦测方... 代码克隆侦测对于代码重构以及可复用资产抽取都有着重要的作用.现有的克隆侦测方法及工具以相似代码片段为单位,给进一步的克隆分析以及代码重构带来困难.针对这一问题,本文提出了一种基于相似性度量的面向对象程序方法级克隆侦测方法,即以方法为单位进行克隆代码侦测.该方法综合利用代码中的注释、签名以及语法相似性来度量方法代码之间的克隆程度.在此基础上合并子类中的相似方法并提取到父类中,从而实现进一步的代码重构.本文通过对JDK包中代码的实验分析验证了本文所提出方法的有效性.初步的实验结果表明,本文方法能够准确、有效地辅助开发者实现方法级的克隆代码侦测. 展开更多
关键词 面向对象 代码克隆 克隆侦测 逆向工程 重构
下载PDF
上一页 1 2 8 下一页 到第
使用帮助 返回顶部