SuperAPI AI 工具集

timemachine-bench-benchmark-evaluating-capabilitie

编程与开发

查看项目

更新于 10-16 01:34

技能介绍

用途:在 Python 项目升级依赖(如 pytest、numpy、pandas、django、pydantic)后测试失败时,帮助定位并修复源码中的不兼容改动,也可用于按版本迁移代码库或排查依赖变更日志所需的代码调整。

主要能力:基于 TimeMachine-bench 方法(Fujii 等,EACL 2026),采用测试驱动的迭代修复循环:先跑测试获取基线失败,按根因分类(API 移除、重命名、返回类型变化、默认行为改变、参数移除或新增、导入路径变化),再用搜索定位源码调用点,做最小范围编辑,重跑测试,无效则回退。工具集包括文件导航、按行范围编辑、批量替换、回退和容器化测试执行。

使用方式:先确认被升级依赖的旧版与新版并阅读变更日志;运行完整测试套件记录失败与堆栈;按失败类别逐类修复,只改源码不改测试;每批编辑后重跑测试;若未改善或引入回归立即回退;最后审查完整 diff,确认每处改动都对应具体 API 不兼容,并检查是否存在因测试未覆盖而出现的虚假通过。

适用场景:依赖升级后测试报错、计划性大版本升级、需要根据变更日志确定改动范围。

限制:需要可运行的测试套件,覆盖率过低时无法仅靠测试验证;主要面向 Python 生态;涉及同步转异步等架构级变更时可能超出机械替换范围;若新版本引入必需配置,测试失败未必直接指向根因;最小改动原则不包含采用新版本新特性。论文报告显示强模型在已验证迁移任务上 pass@1 仅约 30-40%,精度常更低,主要失败模式为无关文件的多余编辑与掩盖问题的表面修复。