Automated concurrency bug finding using partial-orders

<p>Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed systems. Yet, the verification of concurrent systems remains a daunting task, and technological advances such as weak memory architectures greatly compound this problem. Such challenges have ren...

Full description

Bibliographic Details
Main Author: Horn, A
Other Authors: Kwiatkowska, M
Format: Thesis
Published: 2015
_version_ 1797087219334250496
author Horn, A
author2 Kwiatkowska, M
author_facet Kwiatkowska, M
Horn, A
author_sort Horn, A
collection OXFORD
description <p>Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed systems. Yet, the verification of concurrent systems remains a daunting task, and technological advances such as weak memory architectures greatly compound this problem. Such challenges have renewed interest in symbolic encodings of partial-order semantics of concurrency using propositional logic or decidable fragments of first-order logic. The impetus behind these partial-order encodings is the efficiency of evermore highly optimized decision procedures, such as <em>Boolean satisfiability</em> (<em>SAT</em>) and <em>Satisfiability Modulo Theory</em> (<em>SMT</em>) solvers.</p> <p>While methods to effectively use SAT/SMT solvers for automatically finding bugs in sequential software through symbolic techniques, such as bounded model checking or symbolic execution, are well known, this thesis gives theoretical and experimental results that highlight a new set of challenges faced by partial-order encoding techniques. Furthermore, it shows how different solutions to these problems emerge if partial-order encodings are restructured into three separate theory-specific parts. This separation opens up a fresh and fruitful algorithmic perspective on partial-order encodings, including a new partial-order encoding that can drastically reduce the run-time of the analysis prior to calling the SAT/SMT solver, and new insights into the exponential worst-case time complexity of partial-order encodings during SAT/SMT solving. These results are significant as they propose a paradigm shift in how to harness the computational power of SAT/SMT solvers for partial-order encodings.</p>
first_indexed 2024-03-07T02:32:41Z
format Thesis
id oxford-uuid:a7c5aaee-2a40-4c22-aed8-3e12287bc315
institution University of Oxford
last_indexed 2024-03-07T02:32:41Z
publishDate 2015
record_format dspace
spelling oxford-uuid:a7c5aaee-2a40-4c22-aed8-3e12287bc3152022-03-27T02:56:52ZAutomated concurrency bug finding using partial-ordersThesishttp://purl.org/coar/resource_type/c_db06uuid:a7c5aaee-2a40-4c22-aed8-3e12287bc315ORA Deposit2015Horn, AKwiatkowska, MKroening, DVafeiadis, VMelham, T<p>Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed systems. Yet, the verification of concurrent systems remains a daunting task, and technological advances such as weak memory architectures greatly compound this problem. Such challenges have renewed interest in symbolic encodings of partial-order semantics of concurrency using propositional logic or decidable fragments of first-order logic. The impetus behind these partial-order encodings is the efficiency of evermore highly optimized decision procedures, such as <em>Boolean satisfiability</em> (<em>SAT</em>) and <em>Satisfiability Modulo Theory</em> (<em>SMT</em>) solvers.</p> <p>While methods to effectively use SAT/SMT solvers for automatically finding bugs in sequential software through symbolic techniques, such as bounded model checking or symbolic execution, are well known, this thesis gives theoretical and experimental results that highlight a new set of challenges faced by partial-order encoding techniques. Furthermore, it shows how different solutions to these problems emerge if partial-order encodings are restructured into three separate theory-specific parts. This separation opens up a fresh and fruitful algorithmic perspective on partial-order encodings, including a new partial-order encoding that can drastically reduce the run-time of the analysis prior to calling the SAT/SMT solver, and new insights into the exponential worst-case time complexity of partial-order encodings during SAT/SMT solving. These results are significant as they propose a paradigm shift in how to harness the computational power of SAT/SMT solvers for partial-order encodings.</p>
spellingShingle Horn, A
Automated concurrency bug finding using partial-orders
title Automated concurrency bug finding using partial-orders
title_full Automated concurrency bug finding using partial-orders
title_fullStr Automated concurrency bug finding using partial-orders
title_full_unstemmed Automated concurrency bug finding using partial-orders
title_short Automated concurrency bug finding using partial-orders
title_sort automated concurrency bug finding using partial orders
work_keys_str_mv AT horna automatedconcurrencybugfindingusingpartialorders