中文

分析与缓解代码评估指标中的表面偏差

软件工程 2025-10-09 v2

摘要

随着大型语言模型(LLMs)和基于 LLM 的代理的日益普及,可靠且有效的代码评估指标(CEM)已成为多个软件工程任务进展的关键。虽然流行的基准通常提供测试用例来评估生成代码的正确性,但编写和执行测试用例成本高昂。基于参考的 CEM 通过根据候选程序与参考程序的功能相似性进行评分,提供了一种更便宜的替代方案。尽管先前研究聚焦于报告这些 CEM 与功能正确性之间的弱相关性,但其原因仅被假设,而合理的解决方案尚未被探索。在本工作中,我们批判性地评估了四种最先进的基于参考的 CEM,揭示了它们对表面层面特征的强烈偏差。尽管存在这种表面偏差,当前用于这些 CEM 的评估数据集很少包含表面相似但功能不相似,或功能相似但表面不相似的代码对。为了弥补这一差距,我们提出了 LoCaL(Looks Can Lie),一个 CEM 评估基准,包含 3117 对方法级和程序级的代码对。每对代码都标注了功能相似性分数,旨在针对 CEM 可能表现不佳的区域。功能相似性分数通过差分模糊测试计算,这消除了对预定义测试用例的需求,同时通过执行比先前工作多一个数量级的测试来提高分数的可靠性。我们发现所有四种 CEM 在 LoCaL 上的性能相比基线均有显著下降。最后,基于我们的发现,我们得出结论:将 CEM 暴露于类似 LoCaL 的数据可能有助于开发对表面偏差具有鲁棒性的指标。

关键词

引用

@article{arxiv.2509.15397,
  title  = {Analyzing and Mitigating Surface Bias in Code Evaluation Metrics},
  author = {Simantika Bhattacharjee Dristi and Matthew B. Dwyer},
  journal= {arXiv preprint arXiv:2509.15397},
  year   = {2025}
}