Generalized Concurrency Testing Tool for Distributed Systems

Controlled concurrency testing (CCT) is an effective approach for testing distributed system implementations. However, the existing CCT tools suffer from the drawbacks of language dependency and the cost of source code instrumentation, which makes them difficult to apply to real-world production systems. We propose DSTest, a generalized CCT tool for testing distributed system implementations. DSTest intercepts messages on the application layer and, hence, eliminates the instrumentation cost and achieves language independence with minimal input. We provide a clean and modular interface to extend DSTest for various event schedulers for CCT. We package DSTest with three well-known event schedulers and validate the tool by applying it to popular production systems.

Download publication

View on the ACM Digital Library

Citation

Ege Berkay Gulcan, João Neto, and Burcu Kulahcioglu Ozkan, "Generalized Concurrency Testing Tool for Distributed Systems", In Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2024). 2024.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@inproceedings{10.1145/3650212.3685309,
  author = {Gulcan, Ege Berkay and Neto, Jo\~{a}o and Ozkan, Burcu Kulahcioglu},
  title = {Generalized Concurrency Testing Tool for Distributed Systems},
  year = {2024},
  isbn = {9798400706127},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  url = {https://doi.org/10.1145/3650212.3685309},
  doi = {10.1145/3650212.3685309},
  abstract = {Controlled concurrency testing (CCT) is an effective approach for testing distributed system implementations. However, existing CCT tools suffer from the drawbacks of language dependency and the cost of source code instrumentation, which makes them difficult to apply to real-world production systems. We propose DSTest, a generalized CCT tool for testing distributed system implementations. DSTest intercepts messages on the application layer and, hence, eliminates the instrumentation cost and achieves language independence with minimal input. We provide a clean and modular interface to extend DSTest for various event schedulers for CCT. We package DSTest with three well-known event schedulers and validate the tool by applying it to popular production systems.},
  booktitle = {Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis},
  pages = {1861–1865},
  numpages = {5},
  keywords = {Concurrency testing, Distributed systems},
  location = {Vienna, Austria},
  series = {ISSTA 2024}
}