five

COFO

收藏
arXiv2025-03-24 更新2025-03-26 收录
下载链接:
https://github.com/kgautam01/CodeForces-Scraper/
下载链接
链接失效反馈
官方服务:
更多采购需求
资源简介:
COFO数据集是由印度理工学院海得拉巴计算机科学与工程系的研究人员创建的,包含来自Codeforces编程竞赛平台的809个问题类别和369K个源代码程序,涵盖C、C++、Java和Python四种编程语言。每个问题类别都包含问题说明、输入输出规范、测试用例和代码标签等元数据。该数据集旨在解决程序分类/识别、代码标记、预测程序属性和代码理解等机器学习相关问题。

The COFO Dataset was created by researchers from the Department of Computer Science and Engineering, Indian Institute of Technology Hyderabad. It contains 809 problem categories and 369K source code programs sourced from the Codeforces programming competition platform, covering four programming languages: C, C++, Java and Python. Each problem category includes metadata such as problem statements, input/output specifications, test cases and code tags. This dataset is designed to address machine learning-related tasks including program classification/recognition, code tagging, program attribute prediction and code comprehension.
提供机构:
印度理工学院海得拉巴计算机科学与工程系
创建时间:
2025-03-24
搜集汇总
数据集介绍
main_image_url
构建方式
COFO数据集通过系统化的网络爬取技术构建而成,其数据源来自国际知名的编程竞赛平台Codeforces。研究团队采用基于Selenium-BeautifulSoup的Python爬虫框架,从公开的API接口获取问题元数据后,通过自动化浏览器交互实现高效抓取。数据采集过程严格筛选通过所有测试用例的AC代码,涵盖C/C++/Java/Python四种语言的11个版本变体,最终形成包含809个问题类别、36.9万份可编译代码的标准化数据集。每个问题目录均包含问题描述、输入输出规范、测试用例及算法标签等结构化元数据,通过多级目录体系实现数据的系统化组织。
特点
该数据集具有显著的跨语言特性与规模优势,其369,102份代码样本均匀分布在七种编程语言版本中,其中C++17版本占比最高达26.5%。每个问题类别平均包含456个实现方案,最大类别包含2,632个独立解答,最小样本量亦保持在10个以上。数据集特别标注1,955个算法标签,涵盖动态规划、图论等35类算法范式,平均每个问题关联2.4个标签。代码总行数达1,760万行,单问题平均代码规模21.8千行,为程序理解任务提供了丰富的语义信息。与同类数据集相比,COFO在类别数量上较POJ-104提升7.8倍,在代码总量上实现7.1倍增长。
使用方法
研究者可通过分层目录结构访问数据集,根目录下按contestID_index命名的子目录包含完整的问题上下文。每个问题目录中的specifications.txt提供自然语言描述,testcases.txt包含标准测试数据,tags.txt记录算法分类标签。代码文件按语言版本存储在submissions子目录,文件命名采用唯一提交ID保证可追溯性。该数据集特别适用于跨语言程序分类、代码标记预测等机器学习任务,其丰富的元数据支持将代码文本与算法标签、问题描述进行多模态关联分析。对于代码属性预测任务,可利用input-output specifications中的时空约束条件作为监督信号。数据集配套开源了完整的爬虫工具链,便于后续扩展和维护。
背景与挑战
背景概述
COFO数据集由印度理工学院海得拉巴分校的研究团队于2021年创建,旨在为程序分类、识别和标记等机器学习任务提供高质量的数据支持。该数据集包含来自Codeforces平台的369,000个源代码文件,涵盖C、C++、Java和Python四种编程语言,共分为809个类别。每个类别对应一个具体的编程问题,并包含问题描述、输入输出规范、测试用例以及代码标签等元数据。COFO的推出填补了程序分类领域数据集的空白,特别是在语言多样性和数据规模方面,为软件工程中的程序理解、代码克隆检测等研究提供了重要资源。
当前挑战
COFO数据集面临的挑战主要体现在两个方面:领域问题的复杂性和数据构建的技术难度。在领域问题方面,程序分类和代码标记任务需要处理多语言代码的语义理解,不同编程语言的语法和结构差异增加了模型设计的难度。同时,代码标签的准确性和一致性对模型性能有显著影响,但标签的主观性和稀疏性为监督学习带来了挑战。在数据构建过程中,从Codeforces平台爬取数据需处理动态网页内容、反爬机制以及大规模数据的存储与管理。此外,确保源代码的编译通过性和测试用例的完整性也是构建高质量数据集的关键难点。
常用场景
经典使用场景
在程序分类与识别领域,COFO数据集凭借其多语言特性与大规模标注数据,成为研究算法识别和功能分类任务的理想基准。该数据集收录了来自Codeforces平台的36.9万份编程竞赛解决方案,涵盖C、C++、Java和Python四种语言,每段代码均附带问题描述、测试用例及算法标签。这种结构化设计使得研究者能够构建跨语言的程序语义理解模型,例如通过对比不同语言实现的相同算法来探究代码功能等价性。
实际应用
该数据集在工业界具有显著应用价值,其标注的算法标签可直接用于增强IDE的智能代码补全系统,根据代码片段自动推荐相关算法模板。测试用例与性能约束数据为自动化代码评审工具提供了验证基准,可检测提交代码的正确性与效率。此外,问题描述与代码的配对数据已被用于构建编程教学辅助系统,通过自然语言查询匹配最佳实践代码示例。
衍生相关工作
基于COFO衍生的研究显著推进了程序理解技术发展:Alon等人提出的code2vec模型利用该数据集验证了跨语言代码向量化的有效性;Wang团队开发的DeepSim系统将其作为核心基准,实现了基于图神经网络的代码克隆检测;在代码摘要领域,Chen等人结合问题描述文本构建了首个竞赛编程场景的序列生成模型。这些工作共同推动了Big Code分析从单语言向多语言范式的转变。
以上内容由遇见数据集搜集并总结生成

社区讨论

【我遇到的问题】 • 现象:该数据集的下载链接已失效 【相关信息】 • 可考虑访问这个链接获取类似文件~https://www.selectdataset.com/dataset/3688356173feccbcf1f1e490ddc6bc72

5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作