Software Open Access
Mukherjee, Suvam;
Deligiannis, Pantazis;
Biswas, Arpita;
Lal, Akash
<?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"><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> <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> <p>Please refer to the README file for more details on how to run the artifact.</p></description> </descriptions> </resource>
All versions | This version | |
---|---|---|
Views | 885 | 885 |
Downloads | 284 | 284 |
Data volume | 173.9 GB | 173.9 GB |
Unique views | 851 | 851 |
Unique downloads | 252 | 252 |