<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:contributor>Pezzè, Mauro</dc:contributor>
  <dc:creator>Bianchi, Francesco Adalberto</dc:creator>
  <dc:date>2018-10-26</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">With the rapid advance of multi-core and distributed architectures, concurrent systems  are becoming more and more popular. Concurrent systems are extremely hard to  develop and validate, as their overall behavior depends on the non-deterministic  interleaving of the execution flows that comprise the system. Wrong and unexpected  interleavings may lead to concurrency faults that are extremely hard to avoid, detect,  and fix due to their non-deterministic nature. This thesis addresses the problem of  exposing concurrency failures. Exposing concurrency failures is a crucial activity to  locate and fix the related fault and amounts to determine both a test case and an  interleaving that trigger the failure. Given the high cost of manually identifying a  failure-inducing test case and interleaving among the infinite number of inputs and  interleavings of the system, the problem of automatically exposing concurrency  failures has been studied by researchers since the late seventies and is still a hot  research topic. This thesis advances the research in exposing concurrency failures by  proposing two main contributions. The first contribution is a comprehensive survey  and taxonomy of the state-of-the-art techniques for exposing concurrency failures.  The taxonomy and survey provide a framework that captures the key features of the  existing techniques, identify a set of classification criteria to review and compare  them, and highlight their strengths and weaknesses, leading to a thorough  assessment of the field and paving the road for future progresses. The second  contribution of this thesis is a technique to automatically expose and reproduce  concurrency field failure. One of the main findings of our survey is that automatically  reproducing concurrency field failures is still an open problem, as the few techniques  that have been proposed rely on information that may be hard to collect, and identify  failure-inducing interleavings but do not synthesize failure-inducing test cases. We  propose a technique that advances over state- of-the-art approaches by relying on  information that is easily obtainable and by automatically identifying both a failure- inducing test case and interleaving. We empirically demonstrate the effectiveness of  our approach on a benchmark of real concurrency failures taken from different popular  code bases.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://n2t.net/ark:/12658/srd1319091</dc:identifier>
  <dc:identifier>https://susi.usi.ch/global/documents/319091</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/319091/files/2018INFO015.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-117961</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1319091</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>License undefined</dc:rights>
  <dc:subject xmlns:ns1="xml" ns1:lang="en">Concurrency</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Concurrency failures</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Testing</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Reproducing</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">Taxonomy</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns6="xml" ns6:lang="en">Exposing concurrency failures : a comprehensive survey of the state of the art and a novel approach to reproduce field failures</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
