paperbot · PL 论文追踪

全部论文 待读 收藏

P2 CppPerf: An Automated Pipeline and Dataset for Performance-Improving C++ Commits

CppPerf:面向性能改进的 C++ 提交的自动化流水线与数据集
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026匹配度 4/10 · 论文与画像的核心方向(静态分析、AI→PL 的验证改进、浮点/贝叶斯程序分析)均无直接交集,其主题是 C++ 性能补丁挖掘与自动修复基准;唯一的关联在于用 Coding Agent(OpenHands)作为下游评测工具,并采用“挖掘真实仓库提交 + 容器化复现”的基准构建思路,较契合用户对真实工业场景基准与问题驱动研究的偏好,但不属于其正在追的问题。引用 1 inbox
Tommy Ho, Khashayar Etemadi, Zhendong Su
crossref: 2026-10-09

AI 速览

一句话:提出自动化流水线 CppPerf-Mine 挖掘 C++ 性能改进补丁,并构建含 347 个可复现补丁的基准 CppPerf-DB。

现有 C++ 性能基准大多来自竞赛编程提交,而近期真实世界基准主要面向 Python 和 .NET,缺少真实、可执行的 C++ 性能修复基准。本文提出 CppPerf-Mine,一个可配置流水线,通过结构化提交过滤、基于 LLM 的提交分类器以及容器化构建与测试阶段,从 GitHub 开源 C++ 仓库中挖掘能缩短执行时间的补丁,并为每个补丁生成完全可复现的 Docker 镜像。基于该流水线构建了 CppPerf-DB,包含来自 42 个成熟 C++ 仓库的 347 个经人工验证的补丁,其中 39% 为多文件修改,可用于评估仓库级修复工具。初步研究中,OpenHands 仅正确修复 13.5% 的补丁,表明真实世界 C++ 性能修复仍是开放挑战。

问题
现有 C++ 性能基准多基于竞赛编程提交,真实世界基准又主要面向 Python 和 .NET,缺乏真实、可执行且可复现的 C++ 性能修复基准。
方法
提出 CppPerf-Mine 流水线,结合结构化提交过滤、LLM 提交分类器与容器化构建测试,自动挖掘并验证性能改进补丁,生成可复现 Docker 镜像。
评估
构建 CppPerf-DB(347 个经人工验证补丁,来自 42 个成熟 C++ 仓库,39% 为多文件),并用 OpenHands 进行初步修复评估,仅正确修复 13.5%。
原文摘要(Abstract)

Recent progress in automated repair of performance bugs demands realistic, executable benchmarks. However, existing C++ performance benchmarks are largely built from competitive programming submissions, and recent real-world benchmarks predominantly target Python and .NET. To fill this gap, we present CppPerf-Mine, a configurable pipeline that mines execution-time-improving patches from open-source C++ repositories on GitHub by combining structural commit filtering, an LLM-based commit classifier, and a containerized build & test stage that produces fully reproducible Docker images for each patch. Using CppPerf-Mine, we build CppPerf-DB, a benchmark comprising 347 manually verified patches from 42 mature C++ repositories, 39% of which are multi-file, enabling the evaluation of repository-level repair tools. In our preliminary study, OpenHands correctly fixes only 13.5% of the patches in CppPerf-DB, confirming that real-world C++ performance repair remains an open challenge. CppPerf-Mine and CppPerf-DB are open-source and publicly available at: https://doi.org/10.5281/zenodo.20097425. In addition, a demonstration video is available at: https://www.youtube.com/watch?v=nixlupIgSdM.

链接与引用

DOI 原文 · arXiv · DBLP

BibTeX
@inproceedings{abs-2605-10890,
  title = {CppPerf: An Automated Pipeline and Dataset for Performance-Improving C++ Commits},
  author = {Tommy Ho and Khashayar Etemadi and Zhendong Su},
  booktitle = {ASE},
  year = {2026},
  doi = {10.1145/3832783.3834606}
}