From If-Statements to ML Pipelines: Revisiting Bias in Code-Generation

📄 arXiv: 2604.21716v1 📥 PDF

作者: Minh Duc Bui, Xenia Heilmann, Mattia Cerrato, Manuel Mager, Katharina von der Wense

分类: cs.CL, cs.SE

发布日期: 2026-04-23

备注: Accepted to ACL 2026 Findings


💡 一句话要点

揭示代码生成中被低估的偏见:从条件语句到机器学习流水线

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码生成 偏见评估 机器学习流水线 大型语言模型 特征选择

📋 核心要点

  1. 现有代码生成偏见评估主要依赖简单条件语句,无法充分反映真实编程场景中的复杂偏见。
  2. 本文提出通过生成机器学习流水线来评估代码生成中的偏见,更贴近实际应用,能有效揭示潜在的偏见。
  3. 实验表明,在机器学习流水线生成中,大型语言模型表现出显著的特征选择偏见,远高于简单条件语句所能检测到的。

📝 摘要(中文)

以往研究主要通过简单的条件语句评估代码生成中的偏见,但这仅代表了真实编程的一个狭窄切面,并且只揭示了显式编码的偏见。本文通过考察更实际的任务——生成机器学习(ML)流水线,证明了这种方法在实践中大大低估了偏见。对代码专用和通用指令的大型语言模型进行测试后,发现生成的流水线在特征选择过程中表现出显著的偏见。尽管模型能够排除不相关的特征(例如,在信用评分中排除“最喜欢的颜色”而包含“种族”),但敏感属性平均出现在87.7%的案例中。这种偏见远高于条件语句所捕获的偏见,后者中敏感属性仅出现在59.2%的案例中。这些发现对提示缓解策略、不同数量的属性以及不同的流水线难度级别都具有鲁棒性。研究结果表明,简单条件语句不能作为偏见评估的有效代理,并且当前的基准测试低估了实际部署中的偏见风险。

🔬 方法详解

问题定义:现有代码生成偏见评估方法主要依赖于简单的条件语句,这种方法无法捕捉到真实世界编程中更复杂、更隐蔽的偏见。尤其是在涉及机器学习流水线等复杂任务时,简单条件语句无法有效评估模型在特征选择等关键步骤中可能存在的偏见。现有方法的痛点在于其评估范围过于狭窄,无法准确反映实际部署中的偏见风险。

核心思路:本文的核心思路是通过考察更贴近实际应用的机器学习流水线生成任务,来评估代码生成模型中的偏见。机器学习流水线涉及多个步骤,包括数据预处理、特征选择、模型训练等,这些步骤都可能引入偏见。通过分析模型生成的流水线中敏感属性的使用情况,可以更全面地评估模型的偏见程度。

技术框架:本文采用了一种实验性的评估框架,该框架包括以下几个主要步骤:1) 选择代码专用和通用指令的大型语言模型作为评估对象;2) 设计生成机器学习流水线的提示,并控制提示中的敏感属性数量和流水线难度;3) 分析生成的流水线中敏感属性的出现频率,并与基于简单条件语句的评估结果进行比较;4) 采用不同的提示缓解策略,以评估其对偏见的影响。

关键创新:本文最重要的技术创新在于其评估偏见的方法。与以往研究依赖简单条件语句不同,本文采用了更实际的机器学习流水线生成任务,从而能够更全面地评估代码生成模型中的偏见。此外,本文还分析了不同提示缓解策略对偏见的影响,为降低代码生成中的偏见提供了新的思路。

关键设计:在实验设计方面,本文考虑了多个因素,包括敏感属性的数量、流水线的难度以及提示的措辞。通过控制这些因素,可以更准确地评估模型在不同情况下的偏见程度。此外,本文还采用了多种统计方法来分析实验结果,以确保结果的可靠性。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,在生成机器学习流水线时,大型语言模型表现出显著的特征选择偏见,敏感属性平均出现在87.7%的案例中,远高于简单条件语句所捕获的59.2%。即使采用提示缓解策略,偏见仍然存在。这些结果表明,简单条件语句不能作为偏见评估的有效代理,并且当前的基准测试低估了实际部署中的偏见风险。

🎯 应用场景

该研究成果可应用于评估和改进代码生成模型,尤其是在涉及敏感数据的应用场景中,如金融、医疗和法律等领域。通过降低代码生成中的偏见,可以提高系统的公平性和可靠性,避免歧视性结果的产生。未来的研究可以进一步探索更有效的偏见缓解策略,并开发更全面的偏见评估基准。

📄 摘要(原文)

Prior work evaluates code generation bias primarily through simple conditional statements, which represent only a narrow slice of real-world programming and reveal solely overt, explicitly encoded bias. We demonstrate that this approach dramatically underestimates bias in practice by examining a more realistic task: generating machine learning (ML) pipelines. Testing both code-specialized and general-instruction large language models, we find that generated pipelines exhibit significant bias during feature selection. Sensitive attributes appear in 87.7% of cases on average, despite models demonstrably excluding irrelevant features (e.g., including "race" while dropping "favorite color" for credit scoring). This bias is substantially more prevalent than that captured by conditional statements, where sensitive attributes appear in only 59.2% of cases. These findings are robust across prompt mitigation strategies, varying numbers of attributes, and different pipeline difficulty levels. Our results challenge simple conditionals as valid proxies for bias evaluation and suggest current benchmarks underestimate bias risk in practical deployments.