five

s2e-lab/RegexEval

收藏
Hugging Face2023-11-29 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/s2e-lab/RegexEval
下载链接
链接失效反馈
官方服务:
资源简介:
RegexEval数据集是一个包含762个来自真实用户的正则表达式描述的框架,这些描述经过精细处理,包括示例和测试集。数据集由Mohammed Latif Siddiq等人精心策划,主要语言为英语,用于文本生成任务。数据集的来源是从RegExLib网站上收集的正则表达式,经过筛选和处理后形成。每个数据集条目包含原始提示、精细提示、匹配示例和非匹配示例。

RegexEval数据集是一个包含762个来自真实用户的正则表达式描述的框架,这些描述经过精细处理,包括示例和测试集。数据集由Mohammed Latif Siddiq等人精心策划,主要语言为英语,用于文本生成任务。数据集的来源是从RegExLib网站上收集的正则表达式,经过筛选和处理后形成。每个数据集条目包含原始提示、精细提示、匹配示例和非匹配示例。
提供机构:
s2e-lab
原始信息汇总

数据集卡片 for RegexEval

数据集概述

Re(gEx|DoS)Eval 是一个框架,包含来自真实用户的 762 个正则表达式描述(提示),经过精炼的提示和示例,以及一组强大的测试。

数据集详情

数据集描述

  • 由以下人员策划: Mohammed Latif Siddiq, Jiahao Zhang, Lindsay Roney, 和 Joanna C. S. Santos
  • 语言: 英语

数据集结构

  • 文件格式: jsonl
  • 字段:
    • id: 样本的唯一标识符。
    • raw_prompt: 来自真实用户的原始提示,包含正则表达式的描述。
    • refined_prompt: 经过精炼的提示,包含正则表达式的描述。
    • matches: 正则表达式的匹配示例。
    • non-matches: 正则表达式的非匹配示例。

数据集创建

源数据

我们从 RegExLib 中挖掘了所有正则表达式,这是一个包含用户贡献的正则表达式的库。我们从 RegExLib 获得了 4,128 个正则表达式及其 id、描述和预期匹配及非匹配字符串列表。

数据收集和处理

对于每个收集的样本,我们进行了手动验证,以(1)过滤掉不正确的正则表达式,(2)创建更多的样本测试用例(即匹配和非匹配字符串示例),以及(3)创建精炼的问题描述(即提示)。我们排除了任何符合以下条件的正则表达式:(i)缺少任何元数据,即描述和/或预期匹配和非匹配列表;(ii)其描述不是用英语编写的;(iii)其描述包含粗俗词汇;(iv)其描述没有提供足够的信息来理解正则表达式的用途;(v)它旨在检测单个单词;(vi)它是不正确的(即正则表达式匹配了不应该匹配的字符串,或者没有匹配预期应该匹配的字符串)。经过这一步骤后,我们有 1,001 个正则表达式样本。

每个收集的正则表达式样本平均只有 4 个字符串示例(2 个预期匹配和 2 个预期非匹配)。因此,我们手动创建了额外的测试用例,以确保每个样本至少有 13 个匹配和 12 个非匹配字符串示例。在创建这些额外的测试字符串后,我们再次使用新的测试用例集评估正则表达式,并排除了失败的正则表达式样本。因此,我们的最终数据集有 762 个样本。

在对提取样本的描述进行进一步检查后,我们发现其中一些缺乏更详细的解释(例如,ID#84: “SQL 日期格式测试器。”)或有与正则表达式无关的额外信息(例如,ID#4: “... 除此之外,这只是我用来测试我的首页在非常长的表达式描述情况下会如何显示的一个正则表达式的非常非常长的描述”)。因此,我们创建了一个精炼的提示,其中包含正则表达式的清晰描述,包括三个匹配和两个非匹配字符串示例。

引用

BibTeX:

@inproceedings{siddiq2024regexeval, author={Siddiq, Mohammed Latif and Zhang, Jiahao and Roney, Lindsay and Santos, Joanna C. S.}, booktitle={Proceedings of the 46th International Conference on Software Engineering, NIER Track (ICSE-NIER 24)}, title={Re(gEx|DoS)Eval: Evaluating Generated Regular Expressions and their Proneness to DoS Attacks}, year={2024} }

搜集汇总
数据集介绍
main_image_url
构建方式
在正则表达式安全评估领域,RegexEval数据集的构建体现了严谨的学术流程。该数据集源自RegExLib用户贡献的真实正则表达式库,初始收集了4128个样本。通过系统化的人工验证与筛选,排除了元数据缺失、非英语描述、内容不当或功能单一的条目,并校正了表达式本身的逻辑错误。为确保评估的鲁棒性,研究团队为每个样本手工扩充了测试用例,使匹配与非匹配字符串示例分别达到至少13个和12个,最终形成了包含762个高质量样本的数据集。
特点
RegexEval的突出特点在于其双重提示结构与丰富的测试保障。每个样本不仅保留了用户原始描述,还提供了经过提炼的清晰提示,其中包含具体匹配与非匹配的字符串示例,这显著提升了生成任务的明确性。数据集专注于安全关键的正则表达式拒绝服务攻击评估,其精心设计的测试集能够有效检验生成表达式的功能正确性与潜在漏洞。样本规模虽不足千条,但凭借高精度标注与扩展用例,为模型训练与评估提供了可靠基准。
使用方法
该数据集主要应用于文本生成任务,特别是正则表达式的自动合成与安全分析。使用者可通过加载dataset.jsonl文件,访问每个样本的唯一标识、原始提示、精炼提示以及匹配与非匹配示例列表。在模型训练或评估时,可将精炼提示作为输入,以生成的表达式能否通过配套测试集验证作为性能衡量标准。数据集支持对表达式功能准确性及其拒绝服务攻击脆弱性的双重评估,为研究社区提供了标准化测试框架。
背景与挑战
背景概述
正则表达式作为文本处理与模式匹配的核心工具,在软件工程与信息安全领域具有广泛应用。2024年,由Mohammed Latif Siddiq、Jiahao Zhang、Lindsay Roney及Joanna C. S. Santos等研究人员构建的RegexEval数据集应运而生,旨在系统评估生成式正则表达式的功能准确性及其潜在的安全风险。该数据集基于真实用户贡献的RegExLib库,经过精细筛选与人工验证,最终整合了762条正则表达式描述及其测试用例,为研究正则表达式生成模型的性能与鲁棒性提供了标准化基准。其诞生不仅推动了自动化代码生成领域的发展,也为正则表达式相关的安全漏洞(如ReDoS攻击)检测奠定了数据基础。
当前挑战
RegexEval数据集致力于解决正则表达式生成与安全评估的双重挑战。在领域问题层面,正则表达式的语义复杂性与模式多样性使得生成模型难以准确理解用户意图,同时需规避因表达式结构缺陷引发的拒绝服务攻击风险。构建过程中,研究人员面临原始数据质量参差的困境,包括描述信息缺失、语言不规范、示例不足及表达式逻辑错误等,需通过多轮人工校验与测试用例扩充来确保数据可靠性与覆盖度,这一过程凸显了高质量语义标注与安全验证在代码相关数据集构建中的核心难度。
常用场景
经典使用场景
在软件工程与自然语言处理交叉领域,RegexEval数据集为评估生成式模型在正则表达式合成任务中的性能提供了基准。该数据集通过整合来自真实用户的762个正则表达式描述及其精炼提示,辅以详尽的匹配与非匹配字符串示例,构建了一个标准化测试环境。研究人员可借此系统性地衡量模型在理解自然语言需求、生成准确正则表达式方面的能力,从而推动自动化代码生成技术的发展。
实际应用
在实际软件开发与安全审计场景中,RegexEval数据集能够辅助构建智能编程助手工具。这类工具可解析开发者用自然语言表述的字符串匹配需求,自动生成并验证对应的正则表达式,极大提升了文本处理任务的开发效率。同时,数据集内嵌的安全测试框架有助于在代码生成阶段早期识别可能导致性能瓶颈或服务瘫痪的脆弱正则模式,为构建鲁棒的软件系统提供前置保障。
衍生相关工作
基于RegexEval数据集,学术界已衍生出多项聚焦于代码生成与软件安全的前沿研究。例如,相关工作探索了如何将大语言模型与形式化验证技术结合,以提升生成正则表达式的功能正确性;另有研究利用该数据集的测试框架,开发了针对ReDoS漏洞的静态与动态混合检测方法。这些工作共同推动了自动化软件工程工具在实用性、安全性维度的持续演进。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作