The Foundation Cracks: A Comprehensive Study on Bugs and Testing Practices in LLM Libraries

📄 arXiv: 2506.12320v1 📥 PDF

作者: Weipeng Jiang, Xiaoyu Zhang, Xiaofei Xie, Jiongchi Yu, Yuhan Zhi, Shiqing Ma, Chao Shen

分类: cs.SE, cs.AI

发布日期: 2025-06-14


💡 一句话要点

首个LLM库缺陷与测试实践的综合研究,揭示API误用是主要问题

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

关键词: LLM库 错误分析 测试实践 API误用 质量保证

📋 核心要点

  1. 现有LLM库作为AI基础设施,质量问题频发,威胁AI系统可靠性,缺乏对其错误特征和测试实践的系统研究。
  2. 通过分析HuggingFace Transformers和vLLM的错误修复提交,构建错误症状和根本原因的分类体系,揭示API误用是主要问题。
  3. 评估现有测试的有效性,发现测试用例不足、缺乏测试驱动和测试预言较弱是导致错误未被检测的主要原因,并提出改进建议。

📝 摘要(中文)

大型语言模型(LLM)库已成为驱动当前人工智能革命的基础设施,为各种应用中的LLM部署、推理优化、微调和生产服务提供支持。尽管这些库在LLM生态系统中发挥着关键作用,但它们面临着频繁的质量问题和错误,威胁着构建于其上的AI系统的可靠性。为了填补这一知识空白,我们首次对现代LLM库中的错误特征和测试实践进行了全面的实证研究。我们检查了HuggingFace Transformers和vLLM这两个广泛采用的LLM库中的313个错误修复提交。通过严格的手动分析,我们建立了全面的分类法,将错误症状分为5种类型,并将根本原因分为14个不同的类别。我们的主要发现表明,API误用已成为主要的根本原因(32.17%-48.19%),代表了从传统深度学习框架中以算法为中心的缺陷向面向接口问题的显著转变。此外,我们检查了7,748个测试函数,以识别当前测试方法中使用的7个不同的测试预言类别,其中预定义的预期输出(例如特定的张量和文本字符串)是最常见的策略。我们对现有测试有效性的评估表明,由于测试用例不足(41.73%),缺乏测试驱动程序(32.37%)和弱测试预言(25.90%),大多数错误都无法检测到。根据这些发现,我们为提高LLM库的质量保证提供了一些建议。

🔬 方法详解

问题定义:论文旨在解决LLM库中存在的质量问题和缺陷,这些问题直接影响基于这些库构建的AI系统的可靠性。现有方法缺乏对LLM库错误的系统性分析,无法有效识别和解决这些问题。现有测试方法在检测LLM库中的错误方面存在不足,导致许多错误在部署后才被发现。

核心思路:论文的核心思路是通过对LLM库(HuggingFace Transformers和vLLM)的错误修复提交进行深入分析,识别错误的根本原因和症状,并评估现有测试方法的有效性。通过建立错误分类体系和分析测试用例,揭示LLM库中常见的错误模式和测试盲点,从而为改进LLM库的质量保证提供指导。

技术框架:论文采用实证研究方法,主要包括以下几个阶段:1) 数据收集:从HuggingFace Transformers和vLLM的GitHub仓库中提取错误修复提交。2) 错误分析:手动分析错误修复提交,识别错误的症状和根本原因,并构建错误分类体系。3) 测试评估:分析LLM库中的测试函数,识别测试预言的类型,并评估现有测试方法在检测错误方面的有效性。4) 结果分析与建议:根据分析结果,总结LLM库中常见的错误模式和测试盲点,并提出改进LLM库质量保证的建议。

关键创新:论文最重要的技术创新点在于首次对LLM库中的错误进行了全面的实证研究,揭示了API误用是LLM库中主要的错误来源,这与传统深度学习框架中以算法为中心的缺陷不同。此外,论文还建立了LLM库错误的分类体系,并评估了现有测试方法的有效性,为改进LLM库的质量保证提供了新的视角。

关键设计:论文的关键设计包括:1) 错误分类体系:将错误症状分为5种类型,并将根本原因分为14个不同的类别,为错误分析提供了结构化的框架。2) 测试预言分类:识别了7种不同的测试预言类型,为评估测试方法的有效性提供了依据。3) 手动分析方法:通过人工分析错误修复提交和测试用例,确保了分析结果的准确性和可靠性。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

研究发现API误用是LLM库的主要错误来源(32.17%-48.19%),表明LLM库的质量问题已从算法缺陷转向接口问题。现有测试方法存在不足,41.73%的错误由于测试用例不足而未被检测到,32.37%的错误由于缺乏测试驱动程序而未被检测到,25.90%的错误由于测试预言较弱而未被检测到。

🎯 应用场景

该研究成果可应用于LLM库的开发和维护过程中,帮助开发者更好地理解LLM库中常见的错误模式,并设计更有效的测试方法。通过提高LLM库的质量,可以提升基于LLM构建的AI系统的可靠性和安全性,从而促进LLM技术在各个领域的广泛应用。

📄 摘要(原文)

Large Language Model (LLM) libraries have emerged as the foundational infrastructure powering today's AI revolution, serving as the backbone for LLM deployment, inference optimization, fine-tuning, and production serving across diverse applications. Despite their critical role in the LLM ecosystem, these libraries face frequent quality issues and bugs that threaten the reliability of AI systems built upon them. To address this knowledge gap, we present the first comprehensive empirical investigation into bug characteristics and testing practices in modern LLM libraries. We examine 313 bug-fixing commits extracted across two widely-adopted LLM libraries: HuggingFace Transformers and vLLM.Through rigorous manual analysis, we establish comprehensive taxonomies categorizing bug symptoms into 5 types and root causes into 14 distinct categories.Our primary discovery shows that API misuse has emerged as the predominant root cause (32.17%-48.19%), representing a notable transition from algorithm-focused defects in conventional deep learning frameworks toward interface-oriented problems. Additionally, we examine 7,748 test functions to identify 7 distinct test oracle categories employed in current testing approaches, with predefined expected outputs (such as specific tensors and text strings) being the most common strategy. Our assessment of existing testing effectiveness demonstrates that the majority of bugs escape detection due to inadequate test cases (41.73%), lack of test drivers (32.37%), and weak test oracles (25.90%). Drawing from these findings, we offer some recommendations for enhancing LLM library quality assurance.