论文研究-基于LDA和DBSCAN的软件多版本克隆群映射方法.pdf

所需积分/C币:9 2019-07-22 22:57:36 1.06MB .PDF
收藏 收藏
举报

针对克隆群映射大多基于相邻版本对比,当克隆群在中期版本短暂消失,实现多版本间映射存在困难,提出一种基于LDA和DBSCAN的软件多版本克隆群映射方法。首先,对所有版本的克隆群进行预处理,获得克隆群文档集合;其次,根据贝叶斯信息准则选取合适主题数T,进行主题概率模型训练,将所有克隆群都表示成T个主题的概率分布向量;再次,计算克隆群之间的JS距离,利用DBSCAN算法将同源的克隆群聚成一簇;最后,对同簇的克隆群按版本先后排序,得到多版本克隆群映射结果。对五款开源软件83个版本进行了映射实验,结果表明查全率、查准率均在98%以上,为克隆代码分析、管理提供了有力支持。
BStA的软 夲源码分别进行克隆检测。从克隆检测结果中解析岀克隆群验,发现迭代次数 niters取1000时效果最佳,更多的迭代对最 信息,提取克隆代码。 终的训练结果影响不大。对于不同的实验,本文的重点是确定 对克隆代码去停用词是关键。代码中包含大量的停用词,主题个数T。 这些停用词对表征克隆群特征作用很小,而且它们的出现会影 表示听有版本共有2个克隆群 一行代表一个克隆群信息 响主题概率模型的构建。所以要在IA训练之前对克隆代码 去停用词。不同的编程语言停用词不完全相同,C语言的停用2mm地m单m1mm 词包含以下三类:a)程序语言中的关键字,如“rum”“fr”:…m:度:们 ¨ while”" switch"¨if”"int”“ double”等;b)程序中的特殊符号, 79X,CDD四时 andle INVALID HANDLE VALUF 如 ·“?“,?““/ (”等;c)程序中的一些常量,如“NULL 数字等。图2展示了某克隆片段源码与去停用词之后的对比,日-m -LAl: e,_tuning foulant_alae 图2(a)是克隆片段源码,(b)是去停用词之后的结果(为了便1 erro INVal p Dir dir ulcookie DIRENt COOKI上mmm1 riad INVALID HANDLE VAL 于观察,这里空格、回车未作处理)。 18 ignOring in_ignored_ define p2 next_token p pindexp2 isblankp p lineno do- define pa pp 2 c-file line 17 nameend nextchar strlen p name pfound p 19 oplerr fprinf sluerr M upliou ryuires an argument c argy c opbpl c uptsLrig e ee coler 图3克隆群文档集合部分数据 registerstruct file f: register fle f 主题个数的选取直接影响主题概率模型的好坏,从而直接 abort 0 7 while (name[ C=s1.'& ]=='/"&&name2l10) name 影响最终克隆群射的准确度,所以找到一个合适的亡题数很 wile(·name=='/ 重要。 Griffiths等人2给出了一种选取合适主题数T的方法: nmt=="0) 对主题数T遍历I~N,选取使得logP(vlT)最大的作为最佳 n=nm6;!="0;++n) 主题数。 bathyal亳= FILE BUCKETS; hashes FILE BUCKETS f files hashyali f扌next neg i name nam P(ulz)=(l'(wB) IIl(n;+B) 1) /(B)/(n)+W) returm 0 P(1)M2P(1=(m) 图2某克隆片段去停用词对比结果 其中:W是不重复单词的个数;(.)是 gamma函数;n"代表 将所有版本的克隆群组织在一起形成克隆群文档集合,为 单词在主题j中出现的次数;n)表示主题j包含的所有单 LDA训练准备数据。数据格式如下:第一行是克隆群总个数, 词数;M是Gls抽样算法的迭代次数。 第二行开始每行代表一个克隆群,存放预处理之后的克隆群代 使用最优主题数T训练LDA得到主题概率分布,将克隆 码信息。图3展示了克隆群文档集合数据的部分内容。 群表示成T维的主题概率分布向量,为后期克隆群聚类提供 2.2构建主题概率模型 数据。图4展小了make软件训练之后的克隆群主题概率分布 Gibbslda2是一个实现了LDA的开源项目,该项目使用部分数据。每个克隆群都被表示成了15维的向量,并且每个 Gibbs抽样方法评怙参数。木文使用( cibbslda完成主题概率克隆祥几乎都是在两三维上表现明显,其他维上几乎为零。第 模型的构建。执行之前需要设置一些参数,包括α、β、达代次一行表示的克隆样与第七行表示的克隆群,以及第十五行表示 数 milLers、主题个数T。文献[23]研究表明α取50/Tβ取0.01的克隆群的概率分布向量完全相同,而它们与其他行的克隆群 时LDA训练效果较好。按照本文提出的方法在多款软件实分布差别很大。 topicllopic2 topic3 topic topics topic topic? topics topico topic10 topiclI topic 12 topic13topicl4topicl5 10.0801690.0421940.0421940.0421940.0421940.0421940.0421940.0421940.0421940.0421940.3713080.0421940.0421940.0421940.042194 20.0383130.0383140.03831440.0383140.0383140.0383140.0383140.2337160.0383140.0383140.0383140.0383140.0383140.2681990.038314 30.0600070.0303030.0303030.0303030.0393940.0303030.0303030.0303030.5303030.0303030.0303030.0303030.0303030.0303030.030303 40.0362320.0362320.0579710.0362320.0362320.0362320.4492750.0362320.0362320.0362320.0362320.0362320.0579710.0362320.036232 50.0362320.0362320.0362320.0362320.0362320.0362320.0362320.0362320.0579710.0362320.0362320.4710140.0362320.0362320.036232 60.0781500.1786280.0159490.4178630.1259970.0159490.0159490.0159490.0159490.0398720.0159490.0159490.0159490.0159490.015949 70.0801690.0421940.0421940.0421940.0421940.0421940.0421940.0421940.0421940.0421940.3713080.0421940.0421940.0421940.042194 80.0383140.0383140.0383140.0383140.0383140.0383140.0383140.2337160.0383140.0383140.0383140.0383140.0383140.02681990.038314 90.0666670.0303030.0303030.0303030.0303030.0303030.0303030.0303030.5393940.0303030.0303030.0303030.0303030.0303030.030303 100.0406500.0406500.0406500.0406500.2845530.0406500.0406500.0406500.0406500.0406500.0406500.0406500.1869920.0406500.040650 110.0362320.0362320.0579710.0362320.0362320.0471010.4492750.0362320.0362320.0362320.0362320.0362320.0471010.0362320.036232 120.0862750.1686270.0392160.0509800.0392160.0392160.0392160.0392160.0392160.2627450.0392160.0392160.0392150.0392160.039216 130.0362320.0362320.0362320.0362320.0362320.0362320.0362320.0362320.0579710.0362320.0362320.4710140.0362320.0362320.036232 140.0829350.1738440.0159490.03843700.1594900.0159490.0159490.0159490.0159490.0398720.0159490.0159490.0159490.0159490.015949 150.0801690.0421940.0421940.0421940.0421940.0421940.0421940.0421940.0421940.0421940.3713080.0421940.0421940.0421940.042194 160.0383140.0383140.0383140.0383140.0383140.0383140.0383140.2337160.0383140.0383140.0383140.0383140.0383140.2681990.038314 170.0406500.0406500.0406500.0406500.2845530.0406500.0406500.0406500.0406500.0406500.0406500.0406500.1869920.0406500.040650 180.0362320.0362320.0579710.0362320.0362320.0362320.4275360.0362320.0362320.0362320.0362320.0362320.0797100.0362320.036232 190.0862750.1686270.0392160.0392160.0392160.0392160.0392160.0392160.0392160.2745100.0392160.0392160.0392160.0392160.039216 图4make软件主题概率分布部分数 23软件多版本间克隆群映射 群属于版木i,将该克隆群的编号赋值给 templist[,即此条 2.3.1基于 DBSCAN克隆群聚类 克隆群演化轨迹,在经过版本i时,在版本讠屮的编号为 经过主题概率模型训练,多版本的所有克隆群都被表示成 enlIst[i]。 了T个主题的概率分布向量。对于同一个版本中的任意两个 算法1同簇克隆群排序算法 克隆群概率分布差异性较大,由于在软件演化过程中克隆代码 眯数功能:将同簇的克隆群按版本顺序排序 修改较小甚至不变,同源的克隆群概率分布差异较小甚至完全 输入参数:同簇的克隆群集合、所有版本名称。 输出参数:排好序的克隆群,即一条克隆群演化轨迹。 相同,不同源的克隆群差别较明显,这种数据分布正适合于 1 function SORTCLONEGROUP( clone GroupCluster, versionList) DBSCAN算法聚类。表2展示了make3.75与make3.76.1版 2 tempList -[] for i in range(len( versionList )do 本之间克隆群的JS距离(make软件11个版本题数为15时 cloneGroup. version =versionI ist[ i] 进行LDA训练之后得到主题概率分布)。其中,make3.75的 clone group ID=None 6 tempList append( 1号克隆群与make3.76.l的2号克隆群是同源克隆群、make d for 3.75的2号克隆群与make3.76.I的3号兄隆群是同源克隆 8 for clone Group in clone GmupCl 群、make3.75的3号克隆群与make3.76.1的4号克隆群是 for i in range( len( lempList ) if clone Group version ==tempList i]. version then 同源克隆群、makc3.75的4号克隆群与makc3.76.1的6号 Lemp Lisl[i. ID=clone Group ID 克隆群是同源克隆群、make3.75的5号克隆群与make3 end if 的8号克隆群是同源克隆群。从表屮也能看出同源克隆群之 间差异很小,非同源克隆群之间差异较大。 15 end for 表2make软件相邻版本克隆詳,间JS距离 17 for clone Group in templist do make3.76.11 5 67 8 18 if clone Group ID not is None then 10.25120.00000.16510.21760.15490.18450.14280.1912 result append cloneGroup) 20 end it make20.27640.16510.000.23310.16440.19380.16060.200 30.30500.21430.23010.00030.21410.24610.20990.2295 22 return result 40.29040.18510.19430.24960.17370.00060.18060.2182 23 end function 50.29320.19120.20000.23230.19030.21760.18640.0000 通过计算克隆群之间的距离,利用 DBSCAN算法聚类能3实验与分析 够有效地将同源的克隆群聚成一簇,不同源的克隆群聚成不同 的簇。 DBSCAN算法需要设置两个参数,即半径eps和密度阈 3.1实验数据 值 Minpts。半径eps的值限定了核心点的搜索范闱,密度阈值 由于每款软件的版木个数、单版木平均克隆群数量都有差 Mips决定了最终形成的簇中包含数据点的最小数数目。在别,本文选用五款来自不同领域的屮小规模开源软件作为实验 版本演化过程中,可能会由于尝试添加某个功能新增加克隆目标软件,并从中选取了适当数量的版本数,对本文提到的多 群,导致该克隆群只在一个版本中存在,所以密度阈值 Mint 版本克隆群映射方法进行了验证。目标软件的基本信息如表 设为1。不同的半径eps对聚类结果影响较大,eps较大时两个3所示。由于克隆群的尖取结果直接影响最终峡射的准确率, 甚至多个不同源的克隆群集会被误合并成个簇,ps较小时所以本文使用日前较成熟的克隆检测工具NCAD。它能够检 原木同游的克隆群由于细微修改会被聚成两个簇。所以木文测Typ1、Typ2、Typ3类型的克隆代码,而且能够设置不同 通过在多款软件实验,寻找合适的半径eps。 的粒度:凶数粒度、块粒度。本实验首先由NCAD检测工具对 计算两个向量的距离,主要有基于余弦相似度、基于欧氏软件源码克除检测恭得检测结果,然后从XML结果中解析克 距离、基于皮尔逊系数等,这些都适用于普通的向量空间模型。隆群信息。 但本文使用主题的概率分布,( jensen-shannon)距离更适 表3目标软件基本信息 合于概率空间,它从信息的相对熵角度度量距离对数据的利用 软件名称 应用领域 代石 码规模 版木数量 比较充分,精确度较高。 编迳 65000—190000L0C 文本搜索 l5(0)—240000L0C Dk(P, )=2P(x)log P(x) (x) (3) 网络下载 51000-400000L0C rcadlinc 文本编辑 37000-140000L0C 11 P+Q P+O DIs(P, Q) )+Dk(Q (4) 压缩解压 78000-450000L0C 21 其中:P、?为相同事件空间的两个概率分布,距离越大,两者的3.2评价方法 分布差异性越大。 为了验证本文提出方法的有效性,采用人工验证的方法从 2.3.2同簇克隆群排序 查准率、登全率、F值三个方面进行衡量。 同源的克隆群被聚成一簇,而克隆群的演化是按照版木先 precision= TT 后顺序进行的。为了方便观察克隆群演化过程,研究克隆群演 TT+TE 化特点。使用算法1将同簇的克隆群按版本顺序排序。很设 TT T+Ft (6 目标软件共N个版本,首先初始化一个数组 templist, templist sion× recall [1代表第一个版本, templist[2.代表第二个版本, templist measure (7) N]代表第N个版本;然后遍历同簇的所有克隆群、如果克隆其中:TT表示已发现的正确映射数;(mT+TF)表示所有发现 BStA的软 的映射数;(m+F)表示实际存在的映射数; precision为准确8所示。共有1l条演化链,make3.75版木的1号克隆群到 率;reol为查全率;F- measure为F值 make3.76.1版本的2号克隆群一直到make4.1版本的4号 3.3关键参数选取 克隆群。而以make3.76.1版本的Ⅰ号克隆群开始的演化链, 3.3.1主题数T选取 在make3.75版本中并未有对应的克隆群,可能是在make 本文使用 Gibbslda完成LDA主题概率模型训练,在训练3.76.1版本中新增的代码。同样有一条演化链从make3.80 时需要设置一些参数,不同的主题数T,最终训练的主题概率版反本的3号克隆群映射剑muke381版本的2号克隆群,在此 分布结果不同。研究中使用 Griffiths等人给出的方法选取合前后的版本中也未见与其关联的克隆群。而克隆群在演化过 适的主题数。图5表示make软件的logP(m7)随主题数 程中也可能被删除或者修改幅度过大发生不一致变亿导致克 变化的情况。从图中可以看到,很小时随着T的增大logP 隆群消失,如make3.75版本的3号克隆群映射到make3.76.1 (el)急剧増大,达到一定值之后变化缓慢,随后有下降趋势。 版本的4号克隆群,至此该演化链停止,后期版本找不到与其 在保证!wgP(T)尽量大的同时,选取较小的主题数T,这样映射的克隆群。克隆群在演化过程中可能新增消失,也解释 既能得到较好的主题概率分布,又不会产牛太多的题,计算了不同版本克隆群数目不一的现象 复杂度也不会过高。选取不同的主题吋映射准确率如图6所 表4make软件详细信息 示。当主题数T太小时,主题概率分布质量差,不能很好地把 版本信息代码行数克隆群数‖版本信息代码行数克隆群数 非同源的克隆群区分开;当主题数T达到一定值之后,非同源 ake. 75 65398 make3.80138789 make3.76.169033 make3.81170449 克隆群的主题概率分布差异变得明显,能够较好地区分非同源 make 377 73454 make 3. 8 177115 克隆群;主题数T再增大映射准确率也不再提高。图5、6综合 ke3.78.186319 196813 88889 反映了本研究选取合适主题数T的方案可行 ake3.79105775 make 4.1 193 ake3.79.1110129 7 0_1357911315 克隆群 映射关 0.6 876 13579111315 主题数T 主题数T 图5mke软件logP(mT随图6make软件映射准确率 主题数T变化曲线 随主题数变化曲线 3.3.2半径eps的选取 3.753.76.13.773.78.13.793.79.13.803813.824.04.1 版本号 半径eps是 DBSCAN聚类算法的重要参数,eps设置过大 图8make软件克隆群映射关系 会将不相干的克隆群聚在一个簇中,甚至同一个版本中不同的 使用本文提到的方法对3.1节提到的所有软件进行实验 两个克隆群会被分到一起,避成肤射混乱;qPs设置过小也会并人工验证,实验结果如表5所示。 影响克隆群的正常映射,由于版本在演化过程中也会伴随克隆 表5实验结果 群的细微变化,如果eps过小,同源的克隆群可能会由于修改 软件名称 查全率 查准率 值 略大而被认为两个克隆群源,误认为新生克隆群。本文通过在 1.O00 1.000 1.000 多款软件实验,人工验证,发现eps选取0.025效果最好。半 1.000 1.000 1.000 径eps诜取不同值时,杳全率、查准率及F值变化如图7所示。 et 1.000 0.989 0.994 1.2 1.2 0.982 0.983 08 通过表5的结果可以发现,在五款软件上的映射结果准确 共0.6 率、召回率、F值都在98%以上,足以证明方法的有效性,但仍 0.2 存在误报的情况,进一步分析发现,影响有效性的可能是以下 oos50 L0. 0150.020a5003005045o050a05030354两个因素:a)克隆检测工具的性能,克隆群来源于克隆检测工 半径cps 半径 (a)查全率随半径p变化示意图)查准率随半径eps变化示意图 具,皃隆检测结果的准确性直接影响后期皃隆群映射的正确 率;b)LDA训练参数的选取,本文走行LDA训练时只对主题数 T进行了讨论,其他参数都是使用的经验值,其他值可能训练 的结果更好。 0.4 readline 0.2 4结束语 00050010.0150.0200250.030035004 半径 本文提出了一种基于LDA和 DBSCAN的软件多版本克隆 cf值随半径eps变化示意图 群映射方法。通过对克隆代码预处理,将所有版本克隆群组织 图7查全率、查准率及F值随半径eps变化示意图 成克隆群文档集合,经过LDA训练,将每个克隆群用主题概率 3.4实验结果及分析 向量表示,克隆群由长度不等的代码转换成同维的主题概率分 表4为make软件11个版本的详细信息,其映射结果如图布。最后通过计算克降群之间的距离,使用 DBSCAN聚类算 法将同源的克隆群聚成一簇,再经过同簇克隆群排序得到多版12」Kuhnλ, Ducasse s,Girb:T. Semantie clustering: identifying lopes 本克隆群映射结果。通过人工验证该方法的査全率、查准率及 in source code[ J]. Information &Software Technology, 2007 F值均有较高的水平,充分说明了该方法的有效性和可行性。 49(3):230-243. [13 Maskeri G, Sarkar S, Heafield K. Mining business topies in source 本文的研究工作依然存在一些不足,例如LDA训练时有 code using latent dirichlet allocation C //Proc of the 1st India Soft- 些参数值是根据经验设定的,这些设置可能会引起争议,下一 ware Engineering Conference. New York: ACM Press, 2008: 113-120 阶段将深入研究各参数的影响,最终得到的映射结果更有效地[14- Han Xiaodan,wangⅹ iaobo, Liu chao. Retrieval method for tracea- 为克隆代码管理、分析提供依据。 bility links between source code and Chinese documentation[ J. Jour- nal of Hefei University of Technology, 2010, 33(2): 188-18 参考文献 [15 Thomas S W, Adams B, Lassan A E, et al. Studying software evolu [I Kamiya T, Kusumoto S, Inoue K. CCFinder: a multilinguistic token tion using topic models J1. Science of Computer Programming based code clone detection system for large scale source code[ J 2014,80(2):457-479. IEEE Trans on Software Engineering, 2002, 28(7): 654-670. [16 Asuncion H U, Asuneion A U, Taylor R N. Software traceability with [2]梅宏,王千祥,张路,等,软件分祈技术进展[J].计算杌学报, topic modeling[ C]//Proc of IEEE International Conference on Soft- 2009,32(9):1697-1710 ware Engineering. 2010: 95-104 [3] Pate JR, Tairas R, Kraft N A. Clone evolution: a systematic review [17 Nguyen A T, Nguyen TT, Al-Kofahi J, et aL. A topic-based ap [J. Journal of Software Evolution and Process, 2013, 25 proach for narrowing the search space of buggy files from a bug report (3):261-283. [C]//Proc of IEEE/ACM International Conference on Automated [4] Kim M, Sazawal V, Notkin D, et al. An empirical study of code Software engineering. 2011. 263-272 clone genealogies[C]′′ Proc of the 1Oth European Software Engi[18』尹丽丽,张丽萍,王春晖,等·基于潜在狄利克雷分配模型预测 neering Conference. New York: ACM Press, 2005: 187-196 克隆代码不ˉ致变化的可能性[J.计算机应用,2014,34(6) [5] Saha R K, Roy C K, Schneider K A. gCad: a near-miss clone gene 1788-1791 alogy extractor to support clone evolution analysis[C]/ Proc of ieee[19』钱雨村,彭国军,王滢,等.恶意代码同源性分析及家族聚类 International Conference on Software Maintenance. [S. 1.: IEEE [J].计算机工程与应用,2015,51(18):7681 2013:488-491 [20 Jushi B, Budhathoki P, Woon W L, et uL. Software clone delection [6]Kassas Z M, Bhatti Humphreys TE. A graphical approach to GPS using clustering approach C]// Proc of Neural Information Proces- software-defined receiver implementation[ C]//Proc of Global Confe sing.[S.1.]: Springer,2015:520-527 rence on Signal and Information Processing. [ S. 1.]: IEEE Press, [21. Roy C K, Cordy J R. NICAD: accurate detection of near-misg inten- 2013:1226-1229 tional clones using flexible prelly-printing and code normalization [7 Gode n, Koschke R. Studying clane evolution using incremental clone [C//Proc of the 16th IEEE Inlernational Conference on Program delection[J]. Journal of Software: Evolution and Process Comprehension. [S 1.]: IEEE Press, 2008: 172-18 2013,25(2):165-192 [22 Mimno D, Wallach H M, McCallum A. Gibbs sampling for logistic [8 Ci Meng, Su Xiaohong, Wang Tiantian, et al. A new clone group normal topic models with graph- hased priors EB/OL.(2008).ht- mapping algorithm for extracting clone genealogy on multi-version soft- tps: //works. hepress. com/hanna_wallach/77. ware[ C]//Proc of the 3 rd International Conference on Instrumen [23 Zavitsanos E, Petridis S, Paliouras C, ct al. Determining automati tion, Measurement, Computer, Communication and Control cally the size of learned ontologies[ C]//Proc of the 18th European 1.:EE上 Press,20l3:848-853 Conference on Artificial Intelligence. 2008: 775-776 [9]涂颖,张丽萍,王舂晖,等,基于软件多版本演化提取克隆谱系L24」 Griffiths t I, Steyvers M. Finding scient ifie topics_J」·Poce [J].计算机应用,2015,35(4):1169-1173 dings of the National Academy of Sciences, 2004, 101( Suppl 「10]张瑞霞,张丽萍,王春晖,等.基于主题建模抆术的克隆群映射 1):5228-5235. 方法[冂].计算机工程与设计,2015,36(6):1524-1529 [25. Polzehl Spokoiny V. Propagation-separation approach for local like- [11 Blei dm, ng a Y, Jordan M I. Latent Dirichlet allocation[ J. Jour- ihood estimation [ J. Probability Theory and Related Fields nal of Machine Learning Research, 2003, 3(1): 993-1022 2006,135(3):335-362 (上接第480页) [21 Husain M F, MeGlothlin J, Masud MM, et al. Heuristics-based [l6]宋杰,李甜甜,朱志良,等. Mapreduce连接查询的/O代价研究 query processing for large RDF graphs using cloud computing [J].软件学报,2015,26(6):1438-1456 IEEE Trans on Knowledge and Data Engineering, 2011, 23 [17 Dean J, Ghemawat S. MapReduce: simplified data processing on (9):1312-1327 large clusters[ J. Communications of the ACM, 2008, 51(1):[22 Um J H, Lee S, Kim TH, et al. Distributed RDF store for efficient 107-113 searching billions of triples based on Hadoop[J. The Journal of 18 Guo Yuanbo, Pan Zhengxiang, lleflin J. LUBM: a benchmark for Supercomputing,2016,72(5):1825-1840 OWl knowledge base systems[J]. Web semantics: Science,[23]李韧.基于 Hadoop旳大规模语义web本体数据查询与推理关键 Services and Agents on the World Wide Web, 2005, 3(2-3): 技术研究[D].重庆:重庆大学,2013 158-182 [24杨健,罗军,基于 Hadoop的RDF数据存储策略缤述[J.信息 [19 Rohloff K, Schantz R E. High-performance, massively scalable dis- 安全与技术,2015,6(5):46-48 tributed systems using the Map reduce software framework: the [25 Goasdoue F, Kaoudi 7, Manolescu I, et al. Clique Square: flat plans SHARD triple-store[ C]//Proc of Workshop on Programming Support or massIvI ely parallel rdF queries[ C//Proc of the 3 1 st IEEE Inter Innovations for Emerging Distributed Applications. New York: ACM national Conference on Data Engineering. New York IEEE Press Press 2010. 4 015:771-782 [20 LiLi, Song Yaqi. Distributed storage of massive RDF data using [26. Abadi D J, Marcus A, Madden S R, et al. Scalable semantic Web HBase[ J]. Journal of Communication and Computer, 2011, 8 data management using vertical partitioning[ C ]//Proc of the 33 rd In (5):325-328 ternational Conference on Very Large Data Bases. 2007: 411-422

...展开详情
试读 6P 论文研究-基于LDA和DBSCAN的软件多版本克隆群映射方法.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    img

    关注 私信 TA的资源

    上传资源赚积分,得勋章
    最新推荐
    论文研究-基于LDA和DBSCAN的软件多版本克隆群映射方法.pdf 9积分/C币 立即下载
    1/6
    论文研究-基于LDA和DBSCAN的软件多版本克隆群映射方法.pdf第1页
    论文研究-基于LDA和DBSCAN的软件多版本克隆群映射方法.pdf第2页

    试读已结束,剩余4页未读...

    9积分/C币 立即下载 >