five

MultiOOP

收藏
arXiv2025-09-30 更新2024-06-21 收录
下载链接:
https://github.com/alphadl/OOP-eval
下载链接
链接失效反馈
官方服务:
资源简介:
MultiOOP是一个多语言面向对象编程基准数据集,涵盖了六种流行语言(Python、PHP、C++、C#、Java、JavaScript),每种语言有267个任务。该数据集旨在评估大型语言模型(LLMs)在面向对象编程任务中的生成代码能力,并解决现有基准数据集在编程语言、任务粒度和测试用例数量方面的不平衡问题。数据集创建过程包括将现有的单语言面向对象编程基准转换为多语言基准,并设计了一个自动测试用例生成框架,以确保评估结果的可靠性。MultiOOP数据集的应用领域包括代码生成、大型语言模型、面向对象编程和多语言编程。

MultiOOP is a multilingual object-oriented programming benchmark dataset that covers six popular programming languages: Python, PHP, C++, C#, Java and JavaScript, with 267 tasks for each language. This dataset aims to evaluate the code generation capabilities of Large Language Models (LLMs) on object-oriented programming tasks, and addresses the imbalance issues of existing benchmark datasets in terms of programming languages, task granularity and the number of test cases. The dataset creation process includes converting existing single-language object-oriented programming benchmarks into multilingual benchmarks, and designing an automated test case generation framework to ensure the reliability of evaluation results. The application scenarios of the MultiOOP dataset include code generation, large language models, object-oriented programming and multilingual programming.
提供机构:
武汉大学
创建时间:
2025-09-30
搜集汇总
数据集介绍
main_image_url
构建方式
在面向对象编程评估领域,现有基准普遍存在语言单一性与任务粒度局限。MultiOOP通过设计编程语言转换器,将单语言OOP基准扩展为覆盖六种流行语言(Python、PHP、C++、C#、Java、JavaScript)的多语言基准。该转换器分三个阶段实现:需求描述翻译保留自然语言核心语义,单元测试翻译处理变量类型与面向对象特性差异,匹配函数翻译则通过抽象语法树转换确保跨语言概念一致性。最终从原始431个样本中筛选出267个语言无关任务,确保每个语言样本均通过语义等价性与语法兼容性验证。
特点
作为首个专注于多语言面向对象编程的评估基准,MultiOOP展现出三大核心特征。其语言覆盖广度突破了传统基准对单一语言的依赖,囊括了高、中、低频六种编程语言,且首次将C++、C#、PHP、JavaScript纳入OOP能力评估体系。在任务设计上,每个语言包含267个独立样本,覆盖类构建、继承机制与封装特性等核心OOP概念,平均每个任务配备20个测试用例,显著提升了评估结果的可靠性。该基准还创新性地扩展了pass@o评估指标,通过自然语言描述与程序关键点的跨语言匹配,实现对OOP概念理解深度的精细化度量。
使用方法
研究者可利用MultiOOP基准系统评估大语言模型在多语言OOP场景下的代码生成能力。使用流程包含三个关键环节:首先通过零样本提示直接输入自然语言需求,观察模型在六种语言中的原始表现;继而可采用少样本提示提供示例样本,或零样本思维链提示引导模型进行步骤推理,以提升生成质量。评估时需同步执行pass@k与pass@o双重指标验证,前者检验代码执行正确性,后者通过类名、函数名等关键要素匹配度评估OOP概念实现完整性。基准提供的自动化测试框架支持扩展测试用例,建议每个任务至少使用15个测试用例以确保评估稳定性,所有实验应在统一温度参数(0.1/0.8)与top-p(0.95)设置下进行跨模型对比。
背景与挑战
背景概述
MultiOOP数据集由武汉大学、悉尼大学、中山大学和北京理工大学的研究团队于2024年联合创建,旨在解决大语言模型在面向对象编程任务评估中的多语言不平衡问题。该数据集覆盖Python、PHP、C++、C#、Java和JavaScript六种主流编程语言,每种语言包含267个任务,专注于类、继承、封装和多态等核心面向对象概念。通过扩展单语言OOP基准并引入自动化测试用例生成框架,MultiOOP填补了现有基准在语言多样性和任务粒度上的空白,为评估大语言模型在多语言环境下的代码生成能力提供了标准化工具,显著推动了智能编程领域的公平性与全面性发展。
当前挑战
MultiOOP数据集面临的挑战主要体现在两个方面:在领域问题层面,需解决大语言模型在多语言面向对象编程任务中性能显著下降的问题,例如模型在Python中的pass@1得分高达48.06%,而在其他语言中骤降至0.12%-15.26%,反映出模型跨语言泛化能力不足;在构建过程中,需克服编程语言间语法和语义差异带来的翻译复杂性,如Python的动态类型与C++/Java的静态类型冲突,以及继承机制在不同语言中的实现差异,同时需通过严格筛选确保267个样本在多语言环境下的语义一致性和功能等效性。
常用场景
经典使用场景
在面向对象编程领域的研究中,MultiOOP数据集作为首个多语言对象导向编程基准测试集,为评估大语言模型在复杂编程任务中的表现提供了标准化平台。该数据集通过涵盖Python、PHP、C++、C#、Java和JavaScript六种主流编程语言的267个任务样本,系统构建了包含类设计、继承机制和封装特性等核心OOP概念的测试环境。研究者在模型能力评估过程中,可借助其内置的自动化测试框架对生成代码的功能正确性和结构完整性进行验证,特别适用于需要跨语言泛化能力的代码生成研究场景。
解决学术问题
该数据集有效解决了当前代码生成研究中的三大核心问题:首先突破了单语言基准测试的局限,通过构建多语言平行语料消除了语言偏好对评估结果的干扰;其次弥补了传统函数级任务与复杂类级任务之间的评估断层,为研究模型对面向对象编程范式的理解深度提供了量化依据;最后通过引入扩展的pass@o评估指标,实现了对代码结构合规性与功能正确性的双重验证机制。这些突破性设计使得研究者能够更精准地诊断模型在抽象概念建模和跨语言知识迁移方面的能力边界。
衍生相关工作
该数据集的发布催生了系列创新性研究,例如基于其多语言特性开发的语义保持代码转换器,显著提升了跨语言代码迁移的准确性。研究者通过分析模型在MultiOOP上的错误模式,提出了增强OOP概念理解的课程学习训练策略。在评估方法层面,衍生出结合动态测试与静态分析的混合验证框架,为复杂类结构的质量评估提供了新范式。近期工作更利用其丰富的测试用例,构建了面向代码稳健性的对抗性测试基准,推动了代码生成模型在边界条件处理能力上的持续进步。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作