中文

未触及的边界:揭示 LLM 代码生成的真实能力

软件工程 2025-01-16 v2 人工智能

摘要

最近,大型语言模型 (LLM) 在代码生成任务中展现出强大的潜力。然而,这些模型在实际软件开发过程中仍存在差距。准确评估大型语言模型的代码生成能力已成为评估和改进模型的重要依据。一些现有工作构建了评估这些模型能力的数据集。然而,当前的评估过程可能遭遇“熟悉专家”幻象,主要源于三个差距:目标代码的曝光、案例时效性以及依赖可用性。这些差距的根本原因在于,当前数据集中的代码可能在训练阶段被广泛暴露和练习,由于 LLM 持续训练和发展,其时效性已严重受损。解决问题的关键在于尽可能使用他们未曾遇到的代码进行评估。因此,本文的核心思想是借鉴代码混淆的概念,在确保功能和输出的前提下,以不同层次改变代码。为此,我们构建了一个基于代码混淆的基准测试 OBFUSEVAL。我们首先从五个真实项目中收集了 1,354 个原始案例,包括函数描述和代码。然后,我们采用三级策略(符号、结构和语义)对描述、代码和上下文依赖进行混淆。我们在 OBFU- SEVAL 上评估了四个 LLM,并比较了不同混淆策略的效果。我们使用这些项目的官方测试套件来评估生成的代码。结果表明,混淆后,测试通过率的平均下降比率可达 62.5%。

关键词

引用

@article{arxiv.2412.08109,
  title  = {Unseen Horizons: Unveiling the Real Capability of LLM Code Generation Beyond the Familiar},
  author = {Yuanliang Zhang and Yifan Xie and Shanshan Li and Ke Liu and Chong Wang and Zhouyang Jia and Xiangbing Huang and Jie Song and Chaopeng Luo and Zhizheng Zheng and Rulin Xu and Yitong Liu and Si Zheng and Xiangke Liao},
  journal= {arXiv preprint arXiv:2412.08109},
  year   = {2025}
}

备注

Accepted by the 47th International Conference on Software Engineering (ICSE 2025)