Formalization and Verification of Go-based New Simple Queue System

Danyang Wang, Jiaqi Yin, Sini Chen, Huibiao Zhu

Research output: Contribution to journalConference articlepeer-review

2 Scopus citations

Abstract

NSQ (New Simple Queue) is a real-time distributed messaging platform implemented by Go language. It’s designed to operate at scale stably and efficiently handle billions of messages per day. Its decentralized topology guarantees fault tolerance, high availability, and reliable message delivery. Operationally, NSQ is elastic to configure and deploy. With the broad application of the NSQ message system, its security and stability have attracted extensive concentration. Therefore, it is crucial to conduct a rigorous analysis and verification of NSQ’s properties. In this paper, we employ process algebra CSP (Communicating Sequential Processes) to model the core functional modules of the NSQ. In addition, we utilize the model checker PAT (Process Analysis Toolkit) to verify five properties of the model, including divergence freedom, reachability, scalability, availability, and flow controllability. The verification results demonstrate that the NSQ system satisfies all the above properties, proving that the system has high flexibility and robustness while providing credible and efficient message delivery.

Original languageEnglish
Pages (from-to)74-81
Number of pages8
JournalCEUR Workshop Proceedings
Volume3612
StatePublished - 2023
EventJoint of the 5th International Workshop on Experience with SQuaRE Series and its Future Direction and the 11th International Workshop on Quantitative Approaches to Software Quality, IWESQ-QuASoQ 2023 - Hybrid, Seoul, Korea, Republic of
Duration: 4 Dec 2023 → …

Keywords

  • Communicating Sequential Processes(CSP)
  • Messaging System
  • Modeling
  • NSQ
  • Verification

Fingerprint

Dive into the research topics of 'Formalization and Verification of Go-based New Simple Queue System'. Together they form a unique fingerprint.

Cite this