five

MLCQ

收藏
github2024-11-26 更新2024-11-27 收录
下载链接:
https://github.com/Kheims/MLCQ-Experiments
下载链接
链接失效反馈
官方服务:
资源简介:
MLCQ数据集用于代码异味检测的实验,包含了代码片段和相关的代码指标。

The MLCQ Dataset is designed for code smell detection experiments, and it contains code snippets and relevant code metrics.
创建时间:
2024-11-26
原始信息汇总

MLCQ-Experiments 数据集概述

数据集来源

数据集用途

  • 用于论文 "Exploring NLP Techniques for Code Smell Detection: A Comparative Study" 的实验。
  • 比较基于自然语言处理(NLP)的模型与基线模型在代码异味检测中的表现。

数据集处理步骤

  1. 环境设置:

    • 创建 conda 环境并安装依赖项。

    • 命令:

      conda create -n mlcqenv python=3.10 conda activate mlcqenv conda install -f requirements.txt

  2. 数据提取:

    • 设置 GitHub 令牌以与 API 通信。
    • 导出令牌为环境变量: export GITHUB_TOKEN=<your_github_token>
    • 运行 DataExtractor 脚本: python DataExtractor.py
  3. 基线模型:

    • 使用 j48 决策树算法作为基线模型。
    • 计算代码度量作为模型特征。
    • 使用 Designite 工具进行代码度量计算。
    • 步骤:
      1. 运行 python baseline/MetricsExtractor.py 准备 .java 文件。
      2. 运行 python baseline/DesigniteRun.py 执行 Designite。
      3. 运行 baseline/DatasetCreator.py 准备最终数据集。
      4. 运行 train.py 训练和测试模型。
  4. 模型训练:

    • 训练 BiLSTM with Attention 模型:

      python bilstm_attn_train.py --batch_size 16 --epochs 20 --learning_rate 0.0001 --hidden_dim 512 --num_layers 2

    • 训练 CodeBert 模型:

      python bert.py

依赖工具

作者

  • Djamel Mesbah
  • Nour El Madhoun
  • Hani Chalouati
  • Khaldoun Al Agha
搜集汇总
数据集介绍
main_image_url
构建方式
MLCQ数据集的构建过程融合了多种先进的自然语言处理技术与代码分析工具。首先,通过GitHub API获取代码片段,并使用DataExtractor脚本将其转换为JSON格式。随后,利用Designite工具计算代码度量,这些度量作为特征输入到模型中。最终,通过DatasetCreator脚本生成用于训练和测试的最终数据集。这一过程确保了数据集的高质量和多样性,为代码异味检测提供了坚实的基础。
特点
MLCQ数据集的显著特点在于其结合了多种NLP技术和代码分析工具,提供了丰富的代码度量和特征。此外,数据集包含了不同类型的代码片段,涵盖了多种编程语言和开发场景,确保了模型的泛化能力。通过对比不同模型的性能,MLCQ数据集能够有效评估和提升代码异味检测的准确性和效率。
使用方法
使用MLCQ数据集进行代码异味检测,首先需创建并激活conda环境,安装相关依赖。接着,通过DataExtractor脚本从GitHub获取代码片段并转换为JSON格式。随后,利用Designite工具计算代码度量,并通过DatasetCreator脚本生成最终数据集。最后,运行train.py脚本进行模型训练和测试,结果将存储在相应的日志文件中。
背景与挑战
背景概述
MLCQ数据集是在探索自然语言处理(NLP)技术在代码异味检测中的应用背景下创建的。该数据集由Adservio公司与CIFRE博士项目合作开发,旨在通过比较多种基于NLP的模型与传统基线模型,揭示其在代码异味检测中的优势与不足。主要研究人员包括Djamel Mesbah、Nour El Madhoun、Hani Chalouati和Khaldoun Al Agha,他们的研究不仅推动了工业界对代码质量的认知,也为学术界提供了宝贵的实证数据。MLCQ数据集的创建,标志着代码异味检测领域从传统的静态分析向智能化、自动化方向迈出了重要一步,对提升软件开发效率和代码质量具有深远影响。
当前挑战
MLCQ数据集在构建过程中面临多项挑战。首先,代码异味检测本身是一个复杂且多维的问题,涉及代码的结构、语义和上下文等多方面因素。其次,整合多种NLP技术与传统代码分析工具,如Designite,需要克服技术兼容性和数据一致性的难题。此外,数据集的创建还涉及大量的代码片段提取和预处理工作,这要求高效的并行处理能力和精确的数据清洗技术。最后,如何确保所选模型在不同代码库中的泛化能力,也是一个亟待解决的问题。这些挑战不仅考验了研究团队的技术实力,也为未来的研究提供了丰富的探索方向。
常用场景
经典使用场景
MLCQ数据集在代码异味检测领域中被广泛应用于比较各种基于自然语言处理(NLP)技术的模型。通过对比这些模型与基线模型(如j48决策树算法)的性能,研究者能够深入分析不同模型在代码异味检测中的优劣。这种比较研究不仅有助于识别最有效的模型,还能为未来的研究提供宝贵的参考。
衍生相关工作
基于MLCQ数据集的研究工作衍生了一系列相关经典研究,包括对不同NLP模型在代码异味检测中的性能比较、基于深度学习的代码异味检测模型优化等。这些研究不仅丰富了代码异味检测的理论基础,还为实际应用提供了技术支持。此外,MLCQ数据集的使用还促进了跨学科合作,推动了NLP技术在软件工程领域的应用和发展。
数据集最近研究
最新研究方向
在软件工程领域,MLCQ数据集的最新研究方向主要集中在利用自然语言处理(NLP)技术进行代码异味检测。通过对比多种基于NLP的模型与传统的决策树模型(如j48),研究者们旨在揭示这些模型在代码异味检测中的优劣。这一研究不仅推动了工业界对代码质量评估的深入理解,也为学术界提供了新的研究视角。此外,结合预训练模型如CodeBert的应用,进一步提升了检测的准确性和效率,为软件维护和优化提供了强有力的技术支持。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作