论文

基于LLM的代码生成中的缺陷任务描述:检测和分析

Defective Task Descriptions in LLM-Based Code Generation: Detection and Analysis

摘要

大语言模型 广泛用于代码生成,但它们依赖于一个隐含的假设,即任务描述足够详细且格式良好。然而,在实践中,用户可能会提供有缺陷的描述,这会对代码的正确性产生很大影响。为了解决这个问题,我们开发了 SpecValidator,这是一种基于小模型的轻量级分类器,经过参数高效微调,可以自动检测任务描述缺陷。我们在 3 个基准测试上评估 SpecValidator 的三种类型的缺陷:词汇模糊性、规范不足和语法格式,以及不同结构和复杂性的任务描述。我们的结果表明,SpecValidator 实现了 F1 = 0.804 和 MCC = 0.745 的缺陷检测,显着优于 GPT-5-mini(F1 = 0.469 和 MCC = 0.281)和 Claude Sonnet 4(F1 = 0.518 和 MCC = 0.359)。也许更重要的是,我们的分析表明 SpecValidator 可以推广到未见过的问题,并检测所用基准的原始(真实)描述中未知的不符合规范的缺陷。我们的结果还表明,LLM 在任务描述缺陷中的鲁棒性主要取决于缺陷的类型和任务描述的特征,而不是模型的容量,其中 Under-Specification 缺陷最为严重。我们进一步发现,具有更丰富上下文基础的基准(例如 LiveCodeBench)表现出更大的弹性,突出了结构化任务描述对于可靠的基于 LLM 的代码生成的重要性。