Use this URL to cite or link to this record in EThOS: | https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.794241 |
![]() |
|||||||
Title: | A framework for automated concurrency verification | ||||||
Author: | Windsor, Matthew Bernard |
ORCID:
0000-0003-1285-0080
ISNI:
0000 0004 8499 104X
|
|||||
Awarding Body: | University of York | ||||||
Current Institution: | University of York | ||||||
Date of Award: | 2019 | ||||||
Availability of Full Text: |
|
||||||
Abstract: | |||||||
Reasoning systems based on Concurrent Separation Logic make verifying complex concurrent algorithms readily possible. Such algorithms contain subtle protocols of permission and resource transfer between threads; to cope with these intricacies, modern concurrent separation logics contain many moving parts and integrate many bespoke logical components. Verifying concurrent algorithms by hand consumes much time, effort, and expertise. As a result, computer-assisted verification is a fertile research topic, and fully automated verification is a popular research goal. Unfortunately, the complexity of modern concurrent separation logics makes them hard to automate, and the proliferation and fast turnover of such logics causes a downward pressure against building tools for new logics. As a result, many such logics lack tooling. This dissertation proposes Starling: a scheme for creating concurrent program logics that are automatable by construction. Starling adapts the existing Concurrent Views Framework for sound concurrent reasoning systems, overlaying a framework for reducing concurrent proof outlines to verification conditions in existing theories (such as those accepted by off-the-shelf sequential solvers). This dissertation describes Starling in a bottom-up, modular manner. First, it shows the derivation of a series of general concurrency proof rules from the Views framework. Next, it shows how one such rule leads to the Starling framework itself. From there, it outlines a series of increasingly elaborate frontends: ways of decomposing individual Hoare triples over atomic actions into verification conditions suitable for encoding into backend theories. Each frontend leads to a concurrent program logic. Finally, the dissertation presents a tool for verifying C-style concurrent proof outlines, based on one of the above frontends. It gives examples of such outlines, covering a variety of algorithms, backend solvers, and proof techniques.
|
|||||||
Supervisor: | Calinescu, Radu ; Dodds, Mike | Sponsor: | Not available | ||||
Qualification Name: | Thesis (Ph.D.) | Qualification Level: | Doctoral | ||||
EThOS ID: | uk.bl.ethos.794241 | DOI: | Not available | ||||
Share: |