来源笔记
Spaghetti Architect: A Contamination-Resistant, By-Construction-Labelled, Multi-Language Code Dataset Generator
Code Dataset GenerationContamination ResistanceCode BenchmarkingSynthetic CodeProgram Transpilation
摘要
Spaghetti Architect 生成全新、经预言机验证的代码数据集,并独立控制其语义、语言、内在问题规模和偶然杂乱程度。它支持具备污染意识的评估,并显示:随着问题规模扩大,计算准确率可能降至零,而具备能力的模型仍能保持较高的重构等价性。
问题
- 基于挖掘的代码语料库没有已知最优参考、可靠的语义标签、受控的难度,也无法独立改变问题规模和代码杂乱程度。
- 公开代码样本可能已经出现在模型训练数据中,因此评估分数难以解释为模型能力,而非记忆结果。
- 代码评估还需要经过验证的整洁/杂乱代码对,以便在不将语义与呈现方式混淆的情况下测试理解、重构和鲁棒性。
方法
- 反优化转译器将经过验证、与语言无关的 JSON 中间表示转换为 Python、JavaScript、Go、Java 和 C++ 中刻意冗余的程序。
- 编译—运行验证器将每个生成的程序与参考预言机进行比较,使正确性成为构造和验证的属性,而不是推断出的标签。
- 可组合且严格嵌套的反模式配置文件改变偶然杂乱程度;在语义固定的情况下,内在旋钮改变问题规模,包括操作数量和规模。
- 公开开发集和新生成的私有留出集使用秘密种子、字面变化、结构变体以及规模/深度变体来测量抗污染能力。
- 发布的成果采用 MIT 许可证,核心部分无依赖,并包含一个由 100 个实例组成的公开开发参考划分以及可重新生成的数据集。
结果
- 公开划分包含五种语言中的 50 个基础样本和五种非整洁杂乱配置文件,生成 250 个基础样本/配置文件单元格,且没有缺失单元格;杂乱程度轴与内在规模轴按构造得到的 Spearman 相关系数 rho = 0.00。
- 在四个开放模型中,公开开发集与新重新生成的 Tier-A 理解得分差异最多为 0.012,而重构语义等价得分差异最多为 0.011,这支持了新鲜度协议。
- 重构等价性形成了从 0.73 到 0.99 的能力阶梯,并且对具备能力的模型不随内在规模变化;相比之下,随着内在规模增大,测试中最强模型的算术聚合精确匹配准确率降至 0。
- 移除生成器注释后,最弱模型的重构语义等价得分下降 0.173,而最强模型下降 0.017;在七个拟合中的六个拟合里,弱模型到强模型的影响比为 6.5 倍至 9.9 倍。
- 偶然杂乱程度旋钮会改变已有的复杂度和可读性指标,但其对模型准确率的影响尚未在报告的实验中得到确立;这一问题仍属于未来工作。
- Tier-B 与 Tier-C 的准确率差异受到操作数量、样本族构成和深度的混淆影响:将 Tier-A 的操作数量分布标准化为 Tier-B 后,边际差距缩小了 60–90 个百分点。因此,现有证据支持重新生成条件下的新鲜度,而不支持普遍存在的新颖性惩罚。