13 天前
命名如何影响LLMs在代码分析任务中的表现?
Zhilong Wang, Lan Zhang, Chen Cao, Nanqing Luo, Xinzhi Luo, Peng Liu

摘要
大型语言模型(LLM),如GPT和BERT,最初为自然语言处理(NLP)任务而提出,已展现出作为通用语言模型的广阔前景。越来越多的工业界从业者与研究者开始将LLM应用于程序分析任务。然而,编程语言与自然语言之间存在一个显著差异:程序员在程序中可自由为变量、方法和函数命名,而自然语言作者则不具备这种命名自由度。直觉上,程序中命名的质量会影响LLM在程序分析任务中的表现。本文系统研究了命名对LLM在代码分析任务中性能的影响。具体而言,我们构建了一组数据集,其中包含变量、方法和函数使用无意义或具有误导性的名称的代码。随后,我们利用训练良好的模型(CodeBERT)在这些数据集上执行代码分析任务。实验结果表明,命名对基于LLM的代码分析任务性能具有显著影响,说明基于LLM的代码表示学习高度依赖于代码中命名的规范性与语义明确性。此外,我们还以GPT为工具,针对若干特殊代码分析任务开展了案例研究,进一步深化了对这一问题的理解。