Software Open Access

Learning-based Controlled Concurrency Testing

Mukherjee, Suvam; Deligiannis, Pantazis; Biswas, Arpita; Lal, Akash


JSON-LD (schema.org) Export

{
  "inLanguage": {
    "alternateName": "eng", 
    "@type": "Language", 
    "name": "English"
  }, 
  "description": "<p>Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) techniques aim to offer a solution, where a&nbsp;<em>scheduler</em>&nbsp;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 &quot;interesting&quot;&nbsp;subspaces. However, current heuristics are typically tuned to specific bug patterns, which limits their effectiveness in practice.</p>\n\n<p>In this artifact, 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&nbsp;on a set of microbenchmarks, complex protocols, as well as production cloud services. In our experiments, we found QL&nbsp;to consistently outperform the state-of-the-art in CCT.</p>\n\n<p>Please refer to the README file for more details on how to run the artifact.</p>", 
  "license": "https://creativecommons.org/licenses/by/4.0/legalcode", 
  "creator": [
    {
      "affiliation": "Microsoft Research", 
      "@id": "https://orcid.org/0000-0002-9040-0053", 
      "@type": "Person", 
      "name": "Mukherjee, Suvam"
    }, 
    {
      "affiliation": "Microsoft Research", 
      "@id": "https://orcid.org/0000-0001-7582-4520", 
      "@type": "Person", 
      "name": "Deligiannis, Pantazis"
    }, 
    {
      "affiliation": "Indian Institute of Science", 
      "@id": "https://orcid.org/0000-0002-5720-013X", 
      "@type": "Person", 
      "name": "Biswas, Arpita"
    }, 
    {
      "affiliation": "Microsoft Research", 
      "@type": "Person", 
      "name": "Lal, Akash"
    }
  ], 
  "url": "https://zenodo.org/record/4043041", 
  "datePublished": "2020-09-22", 
  "keywords": [
    "concurrency", 
    "testing", 
    "model checking", 
    "reinforcement learning"
  ], 
  "@context": "https://schema.org/", 
  "identifier": "https://doi.org/10.5281/zenodo.4043041", 
  "@id": "https://doi.org/10.5281/zenodo.4043041", 
  "@type": "SoftwareSourceCode", 
  "name": "Learning-based Controlled Concurrency Testing"
}
881
284
views
downloads
All versions This version
Views 881881
Downloads 284284
Data volume 173.9 GB173.9 GB
Unique views 847847
Unique downloads 252252

Share

Cite as