paperbot · PL 论文追踪

全部论文 待读 收藏

P2 LspFuzz: Hunting Bugs in Language Servers

LspFuzz:猎捕语言服务器中的缺陷
ASE 2025 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)2025匹配度 3/10 · 论文关注 LSP 服务器的灰盒模糊测试与缺陷发现,属于编程环境/开发者工具测试,与用户核心的静态分析、LLM/Agent 交叉、浮点程序分析和贝叶斯程序分析无直接关系;仅因 Coding Agent 可能依赖 LSP 基础设施而有间接关联。引用 0 inbox
Hengcheng Zhu, Songqiang Chen, Valerio Terragni, Lili Wei, Yepang Liu, Jiarong Wu, Shing-Chi Cheung
crossref: 2026-09-12

AI 速览

一句话:提出首个面向 LSP 服务器的灰盒混合模糊测试器,联合变异源码与编辑器操作,在真实服务器中发现并促成修复大量缺陷。

LSP 已被约 300 个服务器与 50 款编辑器采用,但语言服务器崩溃会禁用全部代码智能功能,漏洞还可能危及编辑不可信代码的开发者,此前却无专用测试技术。本文提出 LspFuzz,一个灰盒混合模糊测试器。其核心洞察是:需对源代码与编辑器操作进行整体变异,因为缺陷常源于二者组合。为满足 LSP 的复杂约束并探索输入空间,它采用两阶段变异:先对源码做语法感知变异,再上下文感知地派发编辑器操作。在四个广泛使用的 LSP 服务器上,LspFuzz 优于基线,发现未知真实缺陷。报告 51 个缺陷,42 个被确认,26 个已修复,2 个获 CVE。

问题
LSP 服务器广泛使用,但缺乏专门的测试技术;其崩溃会禁用全部代码智能功能,漏洞还可能危及编辑不可信代码的开发者。
方法
提出 LspFuzz 灰盒混合模糊测试器,采用两阶段变异流水线:先对源代码做语法感知变异,再上下文感知地派发编辑器操作,以整体探索源码与操作的组合输入空间。
评估
在四个广泛使用的 LSP 服务器上与基线模糊测试器对比,LspFuzz 表现更优,并发现此前未知的真实缺陷;共报告 51 个缺陷,42 个被确认,26 个被修复,2 个获 CVE 编号。
原文摘要(Abstract)

The Language Server Protocol (LSP) has revolutionized the integration of code intelligence in modern software development. There are approximately 300 LSP server implementations for various languages and 50 editors offering LSP integration. However, the reliability of LSP servers is a growing concern, as crashes can disable all code intelligence features and significantly impact productivity, while vulnerabilities can put developers at risk even when editing untrusted source code. Despite the widespread adoption of LSP, no existing techniques specifically target LSP server testing. To bridge this gap, we present LspFuzz, a grey-box hybrid fuzzer for systematic LSP server testing. Our key insight is that effective LSP server testing requires holistic mutation of source code and editor operations, as bugs often manifest from their combinations. To satisfy the sophisticated constraints of LSP and effectively explore the input space, we employ a two-stage mutation pipeline: syntax-aware mutations to source code, followed by context-aware dispatching of editor operations. We evaluated LspFuzz on four widely used LSP servers. LspFuzz demonstrated superior performance compared to baseline fuzzers, and uncovered previously unknown bugs in real-world LSP servers. Of the 51 bugs we reported, 42 have been confirmed, 26 have been fixed by developers, and two have been assigned CVE numbers. Our work advances the quality assurance of LSP servers, providing both a practical tool and foundational insights for future research in this domain.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot9387,
  title = {LspFuzz: Hunting Bugs in Language Servers},
  author = {Hengcheng Zhu and Songqiang Chen and Valerio Terragni and Lili Wei and Yepang Liu and Jiarong Wu and Shing-Chi Cheung},
  booktitle = {ASE},
  year = {2025},
  doi = {10.1109/ase63991.2025.00183}
}