five

ExSmell-Train

收藏
github2026-05-15 更新2026-05-16 收录
下载链接:
https://github.com/labd2m/ExSmell-Train
下载链接
链接失效反馈
官方服务:
资源简介:
该存储库是一个按不同类别(如设计相关异味、传统代码异味和低级关注点异味)组织的Elixir代码异味示例数据库。每个代码异味包含10个示例,旨在模拟真实的Elixir代码场景。数据集使用ChatGPT-5.4生成,并由两位Elixir专家验证,以确保示例的质量和相关性。主要目标是提供一个结构化数据集,可作为检索增强生成(RAG)系统的知识库,帮助向大型语言模型(LLM)提供相关的代码异味模式,支持Elixir项目中代码异味的自动检测和分析。

This repository is a curated sample database of Elixir code smells, organized into distinct categories including design-related code smells, traditional code smells, and low-level concern code smells. Each category of code smell contains 10 examples intended to simulate realistic Elixir code scenarios. The dataset was generated using ChatGPT-5.4 and validated by two Elixir domain experts to guarantee the quality and contextual relevance of the provided examples. The core goal of this dataset is to serve as a structured knowledge base for retrieval-augmented generation (RAG) systems, enabling the delivery of targeted code smell patterns to large language models (LLMs) and supporting automated detection and analysis of code smells in Elixir-based projects.
创建时间:
2026-05-15
原始信息汇总

ExSmell-Train 数据集详情

数据集简介

ExSmell-Train 是一个 Elixir 代码坏味(Code Smell)示例数据库,旨在为检索增强生成(RAG)系统提供结构化知识库,支持大语言模型(LLM)自动检测和分析 Elixir 项目中的代码坏味。

数据集构成

数据集按类别组织,共包含 三大类 代码坏味,每类下细分为多个具体坏味类型,每个类型包含 10 个示例,模拟真实 Elixir 代码场景。

数据来源与质量控制

  • 使用 ChatGPT-5.4 生成示例。
  • 由两位 Elixir 专家验证,确保示例质量和相关性。

数据集分类结构

1. 设计相关坏味(Design-related Smells)

包含 14 个子类型:

  • GenServer Envy
  • Agent Obsession
  • Unsupervised process
  • Large messages
  • Unrelated multi-clause function
  • Complex extractions in clauses
  • Using exceptions for control-flow
  • Untested polymorphic behaviors
  • Code organization by process
  • Large code generation by macros
  • Data manipulation by migration
  • Using App Configuration for libraries
  • Compile-time global configuration
  • "Use" instead of "import"

2. 低层级关注点坏味(Low-level Concerns Smells)

包含 9 个子类型:

  • Working with invalid data
  • Complex branching
  • Complex else clauses in with
  • Alternative return types
  • Accessing non-existent map/struct fields
  • Speculative Assumptions
  • Modules with identical names
  • Unnecessary macros
  • Dynamic atom creation

3. 传统代码坏味(Traditional Code Smells)

未列出具体子类型,位于 traditional 目录下。

数据集结构与路径

  • 设计相关坏味https://github.com/labd2m/ExSmell-Train/tree/main/design_related
  • 低层级关注点坏味https://github.com/labd2m/ExSmell-Train/tree/main/low_level_concerns
  • 传统代码坏味https://github.com/labd2m/ExSmell-Train/tree/main/traditional

每个子类型均位于对应类别的子目录中,路径示例:https://github.com/labd2m/ExSmell-Train/tree/main/design_related/genserver_envy

数据集目标

为 RAG 系统提供结构化的代码坏味模式知识库,辅助自动检测和分析 Elixir 项目中的代码坏味。

搜集汇总
数据集介绍
main_image_url
构建方式
在Elixir软件工程领域,代码坏味(Code Smell)的存在往往预示着潜在的设计缺陷与维护风险。ExSmell-Train数据集正是为系统性地捕获此类不良模式而构建。该数据集由ChatGPT-5.4生成初始样本,并经两位Elixir领域专家严格校验,以确保每个示例的生态真实性与代码质量。数据集覆盖设计相关坏味、低级关注点坏味及传统代码坏味三大类别,每类下细分若干具体坏味类型,例如GenServer Envy、Complex Branching等,每种坏味包含10个精心模拟的真实场景代码片段。通过人工与自动生成的协同策略,数据集在规模与专业性之间取得了有效平衡。
特点
ExSmell-Train数据集具有鲜明的结构化与领域针对特性。其核心亮点在于按坏味类型进行层次分明的组织,从设计层面的不良抽象(如Agent Obsession)到实现层面的脆弱逻辑(如动态原子创建),均被纳入统一框架。每个坏味类别独立成册,存放于专用目录下,便于检索与批量处理。此外,所有示例均经过专业验证,排除了合成数据的机械感,确保能真实反映Elixir项目中的常见反模式。这种细致分类与质量控制相结合的方式,使数据集不仅是坏味集合,更成为一份经过浓缩的Elixir编码实践指南。
使用方法
作为面向检索增强生成(RAG)系统设计的结构化知识库,ExSmell-Train的使用方式灵活且直接。开发者与研究人员可通过GitHub仓库直接浏览各坏味目录,获取每类坏味的代码示例与说明。更重要的应用场景在于与大型语言模型(LLM)结合:将数据集中的坏味模式作为上下文注入,赋能模型对Elixir代码进行自动化的坏味检测与诊断分析。用户还可依据自身需求,将数据集拆分为训练集与验证集,用于训练或微调特定于Elixir的代码分析工具,推动静态分析领域的发展。
背景与挑战
背景概述
ExSmell-Train数据集诞生于函数式编程范式日趋主流、Elixir语言在并发与容错系统领域崭露头角的背景之下。该数据集由LabD2M实验室主导构建,旨在系统性地梳理与归纳Elixir代码中特有的反模式现象。其核心研究问题聚焦于如何精准识别并描述诸如设计相关异味、低级关注点异味等Elixir特有的代码质量问题。通过引入生成式人工智能与人类专家协同校验的构建策略,数据集不仅为Elixir社区提供了一套结构化的知识库,更为基于检索增强生成(RAG)的大语言模型提供了高质量的训练素材,有力推动了函数式语言代码质量分析工具的发展。
当前挑战
ExSmell-Train数据集面临的首要挑战在于所解决的领域问题:Elixir作为一种新兴的函数式并发语言,其代码异味模式与传统面向对象语言截然不同,现有静态分析工具难以有效覆盖GenServer滥用、进程管理失当等Elixir特有的设计缺陷。构建过程中,生成样例的真实性与覆盖率构成了另一重阻碍——尽管利用ChatGPT-5.4生成了200余个示例,但需确保每个反例均能精准映射实际项目中的复杂场景,且避免产生过拟合于生成模型偏好的虚假模式。此外,如何平衡不同类别异味之间的数据均衡性,以及维持专家验证标准的一致性,亦是保障数据集权威性的关键难题。
常用场景
经典使用场景
ExSmell-Train数据集为Elixir语言代码异味检测领域提供了结构化、高质量的标注样本集合。它涵盖设计相关异味、底层关注点异味及传统代码异味三大类别,共计25种具体异味模式,每种模式均配有10个模拟真实场景的代码示例。研究者可借助该数据集训练或微调大型语言模型,使其能够精准识别Elixir代码中诸如GenServer Envy、Agent Obsession、复杂分支等典型反模式,从而构建自动化代码异味检测工具,实现代码质量的智能化评估。
衍生相关工作
基于ExSmell-Train,研究者已衍生出多项开创性工作。一方面,利用该数据集作为检索增强生成(RAG)知识库,提升LLM对Elixir代码异味解释与修复建议的生成准确性。另一方面,其分类体系启发学者构建'代码异味本体论',建立与Go、Rust等语言反模式的对应关系,推动跨语言质量分析统一框架的发展。此外,针对特定异味(如'宏大规模代码生成')的子集,已被用于对比不同提示工程策略对代码补全模型生成安全性与可维护性的影响,拓展了该数据集在代码语言模型评估中的应用边界。
数据集最近研究
最新研究方向
ExSmell-Train数据集聚焦于Elixir语言中代码坏味的系统化分类与检测,涵盖了设计相关、底层关注点及传统代码坏味三大类别,共计超过二十种具体模式。该数据集通过ChatGPT-5.4生成并由Elixir专家验证,旨在为检索增强生成系统提供高质量的知识库,助力大型语言模型自动识别和分析Elixir项目中的代码质量问题。当前前沿研究方向集中于将此类结构化坏味模式集成到智能代码审查工具中,结合自然语言处理与静态分析技术,推动Elixir生态系统的代码质量自动化评估。随着函数式编程在并发与容错系统中应用的扩展,ExSmell-Train为提升代码可维护性与设计健壮性提供了关键基准,尤其适用于金融科技、物联网等对系统可靠性要求严苛的领域。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作