Affiliation:
1. Microsoft Research, India
2. Microsoft Research, USA
3. IISc Bangalore, India
Abstract
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) techniques aim to offer a solution, where a
scheduler
explores the space of possible interleavings of a concurrent program looking for bugs. Since the set of possible interleavings is typically very large, these schedulers employ heuristics that prioritize the search to “interesting” subspaces. However, current heuristics are typically tuned to specific bug patterns, which limits their effectiveness in practice.
In this paper, we present QL, a learning-based CCT framework where the likelihood of an action being selected by the scheduler is influenced by earlier explorations. We leverage the classical Q-learning algorithm to explore the space of possible interleavings, allowing the exploration to adapt to the program under test, unlike previous techniques. We have implemented and evaluated QL on a set of microbenchmarks, complex protocols, as well as production cloud services. In our experiments, we found QL to consistently outperform the state-of-the-art in CCT.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference73 articles.
1. Akka Raft. 2015. Leader election bug in Akka Raft implementation. https://github.com/ktoso/akka-raft/issues/45. Akka Raft. 2015. Leader election bug in Akka Raft implementation. https://github.com/ktoso/akka-raft/issues/45.
2. Amazon. 2012. Summary of the AWS service event in the US East Region. http://aws.amazon.com/message/67457/. Amazon. 2012. Summary of the AWS service event in the US East Region. http://aws.amazon.com/message/67457/.
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Generalized Concurrency Testing Tool for Distributed Systems;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11
2. Greybox Fuzzing for Concurrency Testing;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2;2024-04-27
3. Optimistic Prediction of Synchronization-Reversal Data Races;Proceedings of the IEEE/ACM 46th International Conference on Software Engineering;2024-04-12
4. Systematic Literature Review on Machine Learning and its Impact on APIs Deployment;Computación y Sistemas;2023-12-27
5. The role of Reinforcement Learning in software testing;Information and Software Technology;2023-12