ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Learning-based controlled concurrency testing

Mukherjee, S and Deligiannis, P and Biswas, A and Lal, A (2020) Learning-based controlled concurrency testing. In: Proceedings of the ACM on Programming Languages, 4 (OOPSLA).

[img]
Preview
PDF
pro_ACM_pro_4-OOPSLA_2020.pdf - Published Version

Download (76MB) | Preview
Official URL: https://doi.org/10.1145/3428298

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. © 2020 Owner/Author.

Item Type: Journal Article
Publication: Proceedings of the ACM on Programming Languages
Publisher: Association for Computing Machinery
Additional Information: The copyright for this article belongs to The Author(s).
Keywords: Program debugging; Reinforcement learning; Scheduling; Software testing, Cloud services; Complex protocols; Concurrency bugs; Concurrent program; Interleavings; Micro-benchmarks; Q-learning algorithms; State of the art, Learning algorithms
Department/Centre: Division of Electrical Sciences > Computer Science & Automation
Date Deposited: 10 Jan 2023 09:14
Last Modified: 10 Jan 2023 09:14
URI: https://eprints.iisc.ac.in/id/eprint/79012

Actions (login required)

View Item View Item