paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Nekara: Generalized Concurrency Testing

Nekara:通用并发测试
ASE 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)2021匹配度 2/10 · 该论文关注并发系统的系统化测试与探索算法工程化,属于软件工程/程序测试方向,但不涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户当前核心研究方向交集很少。虽然其工具化和工业落地特点与用户偏好部分吻合,但研究问题本身不匹配。引用 0 inbox
Udit Agarwal, Pantazis Deligiannis, Cheng Huang, Kumseok Jung, Akash Lal, Immad Naseer, Matthew Parkinson, Arun Thangamani, Jyothi Vedurada, Yunpeng Xiao
crossref: 2026-09-12

AI 速览

一句话:提出开源跨平台库 Nekara,将系统化并发测试的探索算法工程化封装,便于构建定制测试方案。

并发系统测试长期依赖压力测试,但压力测试效率低,且难以清晰覆盖交错空间。系统化测试通过接管并发动作调度并对交错空间进行算法搜索,有望更可靠地发现缺陷;然而已有研究工具的工程实现常局限于小领域,难以维护和扩展。本文以经验论文形式,将先前工作中探索算法的进展与工具工程分离,设计并实现了开源跨平台库 Nekara,用于便捷构建自定义系统化测试方案。评估表明,Nekara 能有效封装最先进的探索算法,并在先前基准上取得效果;同时可应用于多种场景,包括现有开源系统以及 Microsoft Azure 生产分布式服务。Nekara 易用,改进了测试并发现多个新缺陷。

问题
并发系统测试仍然困难;工业界常用压力测试效率低且交错覆盖不明确,而现有系统化测试工具常受限于特定领域、难维护且难扩展。
方法
设计开源跨平台库 Nekara,将系统化测试的探索算法与工具工程解耦并封装,使开发者能方便地构建定制化并发系统测试方案。
评估
在先前基准上评估 Nekara 对最先进探索算法的封装效果,并将其应用于开源系统和 Microsoft Azure 生产分布式服务,验证易用性并发现多个新缺陷。
原文摘要(Abstract)

Testing concurrent systems remains an uncomfortable problem for developers. The common industrial practice is to stress-test a system against large workloads, with the hope of triggering enough corner-case interleavings that reveal bugs. However, stress testing is often inefficient and its ability to get coverage of interleavings is unclear. In reaction, the research community has proposed the idea of systematic testing, where a tool takes over the scheduling of concurrent actions so that it can perform an algorithmic search over the space of interleavings.We present an experience paper on the application of systematic testing to several case studies. We separate the algorithmic advancements in prior work (on searching the large space of interleavings) from the engineering of their tools. The latter was unsatisfactory; often the tools were limited to a small domain, hard to maintain, and hard to extend to other domains. We designed Nekara, an open-source cross-platform library for easily building custom systematic testing solutions.We show that (1) Nekara can effectively encapsulate state-of-the-art exploration algorithms by evaluating on prior bench-marks, and (2) Nekara can be applied to a wide variety of scenarios, including existing open-source systems as well as production distributed services of Microsoft Azure. Nekara was easy to use, improved testing, and found multiple new bugs.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6607,
  title = {Nekara: Generalized Concurrency Testing},
  author = {Udit Agarwal and Pantazis Deligiannis and Cheng Huang and Kumseok Jung and Akash Lal and Immad Naseer and Matthew Parkinson and Arun Thangamani and Jyothi Vedurada and Yunpeng Xiao},
  booktitle = {ASE},
  year = {2021},
  doi = {10.1109/ase51524.2021.9678838}
}