paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Effective Concurrency Testing for Distributed Systems

面向分布式系统的高效并发测试
ASPLOS Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems2020匹配度 2/10 · 该论文研究分布式系统的并发测试与偏序采样/冲突分析,属于软件测试与可靠性方向;与用户核心关注的 PL→AI、AI→PL、浮点程序分析、贝叶斯程序分析及其与 LLM 的交叉均无直接关系,也未涉及静态分析、形式化验证或 Agentic 程序。引用 30 inbox
Xinhao Yuan, Junfeng Yang
crossref: 2026-09-12

AI 速览

一句话:Morpheus:首个将偏序采样与冲突分析用于真实分布式系统的并发测试工具,在 Erlang 系统中发现 11 个新错误。

分布式系统虽广泛部署,却因并发操作与故障的意外交织而难以推理,可能引发未定义行为与严重后果。本文提出 Morpheus,这是首个将偏序采样(partial order sampling)——一种经形式化分析与实证验证、能对错误检测提供强概率保证的随机测试方法——应用于真实分布式系统的并发测试工具。Morpheus 进一步引入冲突分析,通过预测并聚焦于影响测试结果的操作来改进随机测试。该工具面向 Erlang 语言及框架。作者在四个流行的 Erlang 分布式系统上进行了评估,包括消息代理 RabbitMQ 与 Erlang 标准库中的分布式数据库 Mnesia。结果显示 Morpheus 十分有效:在每个被测系统中都发现了此前未知的错误,共计 11 个,全部是核心协议缺陷,可能导致死锁、意外崩溃或状态不一致。

问题
分布式系统因并发操作交织与故障而难以推理,可能出现未定义行为并造成严重后果,而现有测试手段缺乏对错误检测的概率保证。
方法
提出 Morpheus,首个将偏序采样用于真实分布式系统的并发测试工具,并引入冲突分析来预测并聚焦影响测试结果的操作;工具面向 Erlang 语言与框架实现。
评估
在四个流行的 Erlang 分布式系统(含 RabbitMQ 与 Mnesia)上评估,每个系统均发现此前未知的错误,共 11 个,全部为核心协议缺陷,可导致死锁、意外崩溃或状态不一致。
原文摘要(Abstract)

Despite their wide deployment, distributed systems remain notoriously hard to reason about. Unexpected interleavings of concurrent operations and failures may lead to undefined behaviors and cause serious consequences. We present Morpheus, the first concurrency testing tool leveraging partial order sampling, a randomized testing method formally analyzed and empirically validated to provide strong probabilistic guarantees of error-detection, for real-world distributed systems. Morpheus introduces conflict analysis to further improve randomized testing by predicting and focusing on operations that affect the testing result. Inspired by the recent shift in building distributed systems using higher-level languages and frameworks, Morpheus targets Erlang. Evaluation on four popular distributed systems in Erlang including RabbitMQ, a message broker service, and Mnesia, a distributed database in the Erlang standard libraries, shows that Morpheus is effective: It found previously unknown errors in every system checked, 11 total, all of which are flaws in their core protocols that may cause deadlocks, unexpected crashes, or inconsistent states.

链接与引用

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

BibTeX
@inproceedings{paperbot5395,
  title = {Effective Concurrency Testing for Distributed Systems},
  author = {Xinhao Yuan and Junfeng Yang},
  booktitle = {ASPLOS},
  year = {2020},
  doi = {10.1145/3373376.3378484}
}