码迷,mamicode.com
首页 > 其他好文 > 详细

【Software Clone】2014-IEEE-Towards a Big Data Curated Benchmark of Inter-Project Code Clones

时间:2015-05-22 13:18:46      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

Abstract

大数据的克隆检测和搜索算法已经作为嵌入在应用中的一部分.

本文推出一个代码检测基准.包含一些已知的真假克隆代码.其中包括600万条真克隆(包含type-1,type-2,type-3,type-4).


S1   Introduction

IJaDataset 2.0包含25,000个系统,365MLOC(Million Lines of Code).通过人工标记找出实现相似功能的代码,10个功能,包含6百万真克隆对,26万假克隆对.其他的基准都不存在对语义克隆的检测.


S2 background

代码段:包含一个三元组(l,s,e):l表示源文件,s表示开始的行号,e表示结束的行号.

克隆对:(f1, f2, φ),f1和f2表示相似片段,φ表示相似度;

克隆类:(f1, f2, ..., fn, φ),相似代码片段的集合.

参考之前4中类型的代码克隆:

             Type-1: Syntactically identical code snippets, except fordifferences in white space, layout and comments.
                    Type-2: Syntactically identical code snippets, except for differences  in  identi?er  names,  literal  values,  white  space,layout and comments.
                   Type-3: Syntactically similar code snippets that differ at the statement level. Snippets have statements added, modi?ed and/or removed with respect to each other.
                   Type-4: Syntactically dissimilar code snippets that implement the same functionality.


S3   建立基准的方法

确定一个常用的代码功能,然后寻找可能是克隆的代码(候选代码).通过人工标记这些代码的真假.

技术分享

A.片段标记

B.真克隆对

C.假克隆对


S4   总结

技术分享


S5   评估克隆检测工具

技术分享:基准中的所有的真克隆对集合

技术分享:检测工具检测到的克隆对

技术分享召回率

技术分享精确度


S6   数据集的应用


S6   效度威胁


S7   总结

数据集既考虑的语义,也考虑了语法相似.

 

 

 

 

总:本文主要是讲IJaDataset 2.0这个数据集的介绍.下载地址.下载下来之后,解压可以看到技术分享

技术分享

sample:

技术分享

技术分享

这个sql文件有3.72G

【Software Clone】2014-IEEE-Towards a Big Data Curated Benchmark of Inter-Project Code Clones

标签:

原文地址:http://www.cnblogs.com/XBWer/p/4521853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!