five

CloneCorp

收藏
github2024-01-16 更新2024-05-31 收录
下载链接:
https://github.com/FLAGlab/CloneCorp
下载链接
链接失效反馈
官方服务:
资源简介:
用于评估跨语言克隆检测算法的数据语料库,包含四个数据集:克隆场景、基本语言特征、排序算法和移动应用。克隆场景数据集扩展了BigCloneBench的原始克隆场景,实现了不同编程语言的场景。基本语言特征数据集包含了主要语言特征的基本实现。排序算法数据集包含从rosetacode.org提取的7种排序算法的实现。移动应用数据集分为学生项目和GitHub项目两部分,包含多种编程语言版本的应用程序。

A data corpus for evaluating cross-language clone detection algorithms, comprising four datasets: Clone Scenarios, Basic Language Features, Sorting Algorithms, and Mobile Applications. The Clone Scenarios dataset extends the original clone scenarios of BigCloneBench, implementing scenarios in different programming languages. The Basic Language Features dataset includes fundamental implementations of major language features. The Sorting Algorithms dataset contains implementations of seven sorting algorithms extracted from rosettacode.org. The Mobile Applications dataset is divided into student projects and GitHub projects, encompassing applications in various programming languages.
创建时间:
2022-01-20
原始信息汇总

CloneCorp 数据集概述

数据集组成

CloneCorp 数据集主要分为四个部分:

  1. Clone Scenarios

    • 包含从 BigCloneBench 提取的4个原始克隆场景及其版本,共18个场景。
    • 扩展了这些场景在不同编程语言中的实现,包括 C/C++, Dart, Java, JavaScript, Kotlin, Modula-2, Swift, Scheme。
  2. Basic Language Features

    • 包含主要编程语言特性的基本实现,如条件语句、循环结构、对象等。
    • 该数据集评估了7个特性,涵盖 Kotlin, Dart, Swift,并额外提供了 C++ 和 Java 的实现。
  3. Sorting Algorithms

    • 包含从 rosetacode.org 提取的7种排序算法。
    • 这些算法在 C++, Dart, Kotlin, Java, Swift 中实现。
  4. Mobile Apps

    • 分为两个子集:
      • Student projects
        • 由 Univerisdad de los Andes 的顶点课程项目组成,提取自公共 GitLab 和 GitHub 仓库。
        • 包含43个应用,涉及86个仓库,涵盖 Dart-Kotlin, Kotlin-Swift, Dart-Swift 版本。
      • GitHub projects
        • 从 GitHub 挖掘的仓库,基于组织或开发者。
        • 包含58个应用,涉及149个仓库,涵盖 Dart-Kotlin, Kotlin-Swift, Dart-Swift 或三者组合版本。

支持的编程语言

  • C/C++
  • Dart
  • Java
  • JavaScript
  • Kotlin
  • Modula-2
  • Swift
  • Scheme
搜集汇总
数据集介绍
main_image_url
构建方式
CloneCorp数据集的构建旨在为跨语言克隆检测算法的评估提供丰富的数据支持。该数据集由四个主要部分组成:克隆场景、基本语言特性、排序算法和移动应用。克隆场景部分扩展了BigCloneBench的原始克隆场景,并在多种编程语言中实现了这些场景。基本语言特性部分涵盖了不同编程语言中的主要语言特性实现。排序算法部分则从rosetacode.org提取了七种排序算法,并在多种语言中实现了这些算法。移动应用部分进一步分为学生项目和GitHub项目,分别从公开的GitLab、GitHub仓库中提取了多语言版本的移动应用。
使用方法
CloneCorp数据集的使用方法灵活多样,适用于多种研究场景。研究人员可以通过克隆场景部分评估跨语言克隆检测算法的性能,利用基本语言特性部分分析不同语言的语法差异。排序算法部分可用于算法实现的比较研究,而移动应用部分则为实际应用中的克隆检测提供了真实案例。数据集中的每个部分都提供了详细的实现代码和版本信息,便于研究人员进行深入分析和实验。通过合理利用这些数据,研究人员可以全面评估和改进跨语言克隆检测技术。
背景与挑战
背景概述
CloneCorp数据集是专为跨语言代码克隆检测算法评估而构建的语料库,由多个子数据集组成,涵盖了克隆场景、基础语言特性、排序算法以及移动应用等多个维度。该数据集由Universidad de los Andes的研究团队主导创建,旨在解决跨语言代码克隆检测中的核心问题,即在不同编程语言之间识别相似的代码片段。CloneCorp的构建基于BigCloneBench的克隆场景,并扩展了多种编程语言的实现,包括C/C++、Dart、Java、JavaScript、Kotlin、Modula-2、Swift和Scheme。该数据集为跨语言代码克隆检测领域提供了丰富的实验数据,推动了相关算法的研究与优化。
当前挑战
CloneCorp数据集在构建与应用过程中面临多重挑战。首先,跨语言代码克隆检测本身具有较高的复杂性,不同编程语言的语法和语义差异使得相似代码的识别难度显著增加。其次,数据集的构建需要从多个来源收集和整理代码片段,包括开源项目、学生课程作业以及公共代码库,这一过程涉及大量的数据清洗和标准化工作。此外,确保数据集中的代码片段在不同语言之间具有一致的功能性,同时保持其多样性和代表性,也是一项艰巨的任务。这些挑战不仅影响了数据集的构建效率,也对后续算法的性能评估提出了更高的要求。
常用场景
经典使用场景
CloneCorp数据集在跨语言代码克隆检测算法的评估中具有重要应用。该数据集通过提供多种编程语言的代码实现,涵盖了克隆场景、基本语言特性、排序算法以及移动应用等多个领域。研究者可以利用这些数据来测试和优化跨语言克隆检测算法的性能,特别是在处理不同编程语言之间的代码相似性时,CloneCorp提供了丰富的实验素材。
解决学术问题
CloneCorp数据集有效解决了跨语言代码克隆检测中的关键学术问题。通过提供多种编程语言的代码实现,该数据集帮助研究者深入理解不同语言之间的代码相似性,并推动了跨语言克隆检测算法的发展。其多样化的数据集结构使得研究者能够系统地评估算法在不同场景下的表现,从而为代码克隆检测领域提供了重要的实验基础。
实际应用
在实际应用中,CloneCorp数据集为软件开发中的代码复用和优化提供了有力支持。通过分析不同编程语言之间的代码克隆,开发者可以更好地理解代码的复用模式,从而优化代码结构,提高开发效率。此外,该数据集还可用于教育领域,帮助学生理解不同编程语言的特性及其在代码实现中的差异。
数据集最近研究
最新研究方向
在跨语言代码克隆检测领域,CloneCorp数据集为研究者提供了丰富的实验材料,涵盖了多种编程语言和实际应用场景。该数据集不仅包含了从BigCloneBench扩展的克隆场景,还涉及基础语言特性、排序算法以及移动应用的实现。特别是在移动应用领域,CloneCorp通过学生项目和GitHub项目两个子集,展示了多语言版本应用的开发实践,为跨平台开发中的代码复用和克隆检测提供了宝贵的研究资源。随着多语言编程环境的普及,CloneCorp在推动跨语言代码克隆检测算法的优化与创新方面具有重要意义,为学术界和工业界提供了新的研究视角和实验平台。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作