中文

在线编程作业中时间限制超出错误的系统性研究

软件工程 2025-10-17 v1

摘要

如 Codeforces 和 LeetCode 这样的在线编程平台吸引了数以百万计的用户,他们希望学习编程或为行业面试不断完善技能。这些用户面临的主要挑战之一是时间限制超出(Time Limit Exceeded, TLE)错误,当程序执行时间超过限制时触发。虽然 TLE 错误旨在作为性能安全措施,但解决起来却很困难:错误信息没有提供诊断性见解,平台支持有限,现有调试工具也几乎无助。因此,许多用户在反复遇到 TLE 失败后都会放弃提交。本文present了对在线编程中 TLE 错误的第一次大规模实证研究。我们手动分析了 1000 份 Codeforces 提交的 TLE 错误,对其根本原因进行分类,并追踪用户尝试修复它们的方式。我们的分析表明,TLE 错误不仅源于低效算法,也常由无限循环、数据结构使用不当以及低效 I/O 引发,这挑战了 TLE 纯粹是性能问题的传统观念。针对这些发现,我们引入了 Nettle——首个专为解决 TLE 错误而设计的自动化修复工具,以及 Nettle-Eval——首个用于评估 TLE 修复的框架。Nettle 集成了大语言模型(LLM),并通过编译器和测试用例生成的针对性自动反馈,产生小幅正确的代码编辑,以消除 TLE 同时保持功能完整。针对同一 1000 份真实案例进行评估,Nettle 的修复成功率达 98.5%,远超最强 LLM 基线,所有修复均通过 Nettle-Eval 及平台官方检查器,确认了我们框架的可靠性。

关键词

引用

@article{arxiv.2510.14339,
  title  = {A Systematic Study of Time Limit Exceeded Errors in Online Programming Assignments},
  author = {Jialu Zhang and Jialiang Gu and Wangmeiyu Zhang and José Pablo Cambronero and John Kolesar and Ruzica Piskac and Daming Li and Hanyuan Shi},
  journal= {arXiv preprint arXiv:2510.14339},
  year   = {2025}
}