Software Open Access

Learning-based Controlled Concurrency Testing

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


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.4043041</identifier>
  <creators>
    <creator>
      <creatorName>Mukherjee, Suvam</creatorName>
      <givenName>Suvam</givenName>
      <familyName>Mukherjee</familyName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0002-9040-0053</nameIdentifier>
      <affiliation>Microsoft Research</affiliation>
    </creator>
    <creator>
      <creatorName>Deligiannis, Pantazis</creatorName>
      <givenName>Pantazis</givenName>
      <familyName>Deligiannis</familyName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0001-7582-4520</nameIdentifier>
      <affiliation>Microsoft Research</affiliation>
    </creator>
    <creator>
      <creatorName>Biswas, Arpita</creatorName>
      <givenName>Arpita</givenName>
      <familyName>Biswas</familyName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0002-5720-013X</nameIdentifier>
      <affiliation>Indian Institute of Science</affiliation>
    </creator>
    <creator>
      <creatorName>Lal, Akash</creatorName>
      <givenName>Akash</givenName>
      <familyName>Lal</familyName>
      <affiliation>Microsoft Research</affiliation>
    </creator>
  </creators>
  <titles>
    <title>Learning-based Controlled Concurrency Testing</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2020</publicationYear>
  <subjects>
    <subject>concurrency</subject>
    <subject>testing</subject>
    <subject>model checking</subject>
    <subject>reinforcement learning</subject>
  </subjects>
  <dates>
    <date dateType="Issued">2020-09-22</date>
  </dates>
  <language>en</language>
  <resourceType resourceTypeGeneral="Software"/>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/4043041</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.4043040</relatedIdentifier>
  </relatedIdentifiers>
  <rightsList>
    <rights rightsURI="https://creativecommons.org/licenses/by/4.0/legalcode">Creative Commons Attribution 4.0 International</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">&lt;p&gt;Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) techniques aim to offer a solution, where a&amp;nbsp;&lt;em&gt;scheduler&lt;/em&gt;&amp;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 &amp;quot;interesting&amp;quot;&amp;nbsp;subspaces. However, current heuristics are typically tuned to specific bug patterns, which limits their effectiveness in practice.&lt;/p&gt;

&lt;p&gt;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&amp;nbsp;on a set of microbenchmarks, complex protocols, as well as production cloud services. In our experiments, we found QL&amp;nbsp;to consistently outperform the state-of-the-art in CCT.&lt;/p&gt;

&lt;p&gt;Please refer to the README file for more details on how to run the artifact.&lt;/p&gt;</description>
  </descriptions>
</resource>
885
284
views
downloads
All versions This version
Views 885885
Downloads 284284
Data volume 173.9 GB173.9 GB
Unique views 851851
Unique downloads 252252

Share

Cite as