five

CodeSense

收藏
arXiv2025-06-01 更新2025-06-05 收录
下载链接:
https://codesense-bench.github.io/
下载链接
链接失效反馈
官方服务:
资源简介:
CodeSense 是一个面向真实世界代码语义推理的基准和数据分析集,旨在评估代码大语言模型(LLMs)在实际软件工程(SE)任务中的能力。该数据集包含来自真实世界存储库的 Python、C 和 Java 软件项目,并通过执行测试、收集执行跟踪和构建细粒度语义推理任务的基准数据集来创建。CodeSense 数据集包括 2125 个 Python、876 个 C 和 875 个 Java 唯一函数,基于这些函数,我们整理了 4495 个样本及其基准数据。该数据集的创建过程包括收集真实世界的软件项目、开发自动提取基准任务的框架、构建和执行项目以及记录运行时执行值和跟踪。CodeSense 数据集的应用领域包括测试输入生成、漏洞检测、故障定位、代码修复、重构和功能验证等软件工程任务。

CodeSense is a benchmark and data analytics dataset for real-world code semantic reasoning, aiming to evaluate the capabilities of code large language models (LLMs) in practical software engineering (SE) tasks. This dataset contains Python, C, and Java software projects sourced from real-world repositories, and was constructed by executing tests, collecting execution traces, and developing benchmark datasets for fine-grained semantic reasoning tasks. The CodeSense dataset includes 2125 unique Python functions, 876 unique C functions, and 875 unique Java functions. Based on these functions, we curated 4495 samples along with their benchmark data. The creation process of the CodeSense dataset involves collecting real-world software projects, developing a framework for automatically extracting benchmark tasks, building and executing projects, as well as recording runtime execution values and traces. Application scenarios of the CodeSense dataset cover software engineering tasks such as test input generation, vulnerability detection, fault localization, code repair, refactoring, and functionality verification.
提供机构:
哥伦比亚大学
创建时间:
2025-06-01
原始信息汇总

CodeSense 数据集概述

基本信息

  • 数据集名称: CodeSense Evaluation Platform
  • 目标领域: 代码语义理解与软件工程
  • 支持语言: Python, C, Java

核心特点

  • 评估维度: 细粒度代码推理能力
  • 数据来源: 真实世界软件项目
  • 评估方式: 提供执行轨迹和工具支持

应用场景

  • 大型语言模型(LLMs)在软件工程实践中的能力评估
  • 超越粗粒度输入/输出任务的深度语义理解
搜集汇总
数据集介绍
main_image_url
构建方式
CodeSense数据集的构建过程体现了对真实世界代码语义推理的深度探索。研究团队从GitHub收集了744个Python、C和Java项目,通过自动化测试框架执行测试用例并记录运行时执行轨迹。采用静态和动态程序分析技术,从执行轨迹中提取细粒度语义标注作为基准真值。具体而言,Python项目使用pytest和Pysnooper工具链,C项目基于OSS-Fuzz基础设施和GDB调试器,Java项目则依托EvoSuite测试框架和Java调试器。经过严格的数据过滤,最终构建了包含4495个样本的多语言基准数据集,覆盖函数级、语句级和代码块级等多种语义推理任务。
特点
CodeSense作为首个面向真实世界软件工程的细粒度代码语义推理基准,具有三个显著特征:首先,其数据来源于真实GitHub项目而非合成数据,确保了评估场景的实践相关性;其次,支持Python、C和Java三种主流语言,涵盖2125个Python函数、876个C函数和875个Java函数;最后,定义了包括循环迭代预测、指针别名分析、分支条件推理等在内的多维评估任务体系,这些任务直接对应测试生成、漏洞检测等实际软件工程需求。数据集特别关注基本数据类型的值预测,即使在此简化设定下,现有大模型仍展现出显著的推理能力缺陷。
使用方法
使用CodeSense进行模型评估时,研究者可通过其提供的五类自然语言提示模板开展实验设计。评估过程支持零样本、少样本及思维链等多种提示策略,要求模型在<ans></ans>标签内输出预测结果。针对语句级任务,需提供前置变量状态;对于函数级任务,则需指定输入或输出作为推理条件。数据集特别设计了抽象语义推理任务,允许模型通过值域划分替代精确值预测。评估指标采用严格精确匹配,所有实验可通过vLLM推理引擎复现,关键参数包括temperature=0.8、top_p=0.95等。配套的代码执行追踪框架支持研究者扩展新的语义推理任务和编程语言。
背景与挑战
背景概述
CodeSense是由爱荷华州立大学、哥伦比亚大学和微软数据与人工智能团队的研究人员于2025年提出的首个面向真实世界代码语义推理的基准数据集。该数据集填补了现有代码推理基准主要依赖合成数据或教育性编程问题的空白,通过从GitHub收集的744个Python、C和Java真实项目构建而成,包含4495个带有执行轨迹标注的样本。作为软件工程领域的重要资源,CodeSense支持从语句级到函数级的细粒度语义推理任务评估,包括循环迭代预测、指针别名分析和分支执行判断等核心问题,为提升代码大语言模型在实际软件开发中的推理能力提供了关键基准。
当前挑战
CodeSense面临双重挑战:在领域问题上,现有模型对真实代码的细粒度语义理解存在显著不足,特别是在算术表达式、API调用等语句推理及逆向输入预测任务中表现欠佳;在构建过程中,需克服多语言项目执行轨迹采集的复杂性,包括处理C项目的模糊测试、Python依赖项管理以及Java调试信息提取等技术难题。此外,为确保数据质量,研究团队还需设计自动化工具过滤无效函数,并处理原始执行日志中复杂的变量状态记录,这些都对基准构建的可靠性和可扩展性提出了严格要求。
常用场景
经典使用场景
CodeSense数据集在代码语义推理领域具有广泛的应用场景,特别是在评估大型语言模型(LLMs)在处理真实世界软件工程项目中的细粒度语义推理能力时表现突出。该数据集通过收集Python、C和Java等语言的真实项目代码,并利用执行跟踪技术获取细粒度的语义信息,为研究者提供了一个可靠的基准测试平台。经典使用场景包括测试输入生成、漏洞检测、故障定位和程序修复等任务,这些任务需要模型深入理解代码的执行语义。
解决学术问题
CodeSense数据集解决了当前代码推理基准测试中的几个关键学术问题。首先,它填补了现有基准测试主要依赖合成数据或教育性编程问题的空白,提供了基于真实世界代码的细粒度语义推理任务。其次,该数据集通过静态和动态程序分析技术自动提取真实项目的执行轨迹和语义标注,为监督评估提供了可靠的基础。此外,CodeSense还揭示了当前LLMs在细粒度代码语义推理上的局限性,尤其是在处理算术表达式、API调用和循环迭代等复杂语义时的性能瓶颈,为未来模型优化提供了明确方向。
衍生相关工作
CodeSense数据集已经衍生出多个相关研究工作,推动了代码语义推理领域的发展。基于该数据集,研究者开发了执行跟踪框架和工具链,为未来基准测试的构建和模型后训练提供了基础设施。此外,该数据集启发了对LLMs在代码语义推理中性能瓶颈的深入分析,促进了提示工程技术(如思维链和上下文学习)的优化。相关工作还包括对模型在多语言环境下的性能比较,以及针对不同代码构造(如循环、指针和分支)的专门化推理能力评估,这些研究为代码语义理解的模型设计提供了重要参考。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作