kth.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
An Abstraction Technique for Verifying Shared-Memory Concurrency
Swiss Fed Inst Technol, Dept Comp Sci, CH-8092 Zurich, Switzerland..
KTH, School of Electrical Engineering and Computer Science (EECS), Computer Science, Theoretical Computer Science, TCS.ORCID iD: 0000-0002-0074-8786
Univ Twente, Formal Methods & Tools, NL-7500 AE Enschede, Netherlands..
2020 (English)In: Applied Sciences, E-ISSN 2076-3417, Vol. 10, no 11, article id 3928Article in journal (Refereed) Published
Abstract [en]

Modern concurrent and distributed software is highly complex. Techniques to reason about the correct behaviour of such software are essential to ensure its reliability. To be able to reason about realistic programs, these techniques must be modular and compositional as well as practical by being supported by automated tools. However, many existing approaches for concurrency verification are theoretical and focus primarily on expressivity and generality. This paper contributes a technique for verifying behavioural properties of concurrent and distributed programs that balances expressivity and usability. The key idea of the approach is that program behaviour is abstractly modelled using process algebra, and analysed separately. The main difficulty is presented by the typical abstraction gap between program implementations and their models. Our approach bridges this gap by providing a deductive technique for formally linking programs with their process-algebraic models. Our verification technique is modular and compositional, is proven sound with Coq, and has been implemented in the automated concurrency verifier VerCors. Moreover, our technique is demonstrated on multiple case studies, including the verification of a leader election protocol.

Place, publisher, year, edition, pages
MDPI AG , 2020. Vol. 10, no 11, article id 3928
Keywords [en]
concurrency verification, program logics, process algebra, code verification, abstraction
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kth:diva-278787DOI: 10.3390/app10113928ISI: 000543385900265Scopus ID: 2-s2.0-85087123777OAI: oai:DiVA.org:kth-278787DiVA, id: diva2:1455812
Note

QC 20200729

Available from: 2020-07-29 Created: 2020-07-29 Last updated: 2022-06-26Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Gurov, Dilian

Search in DiVA

By author/editor
Gurov, Dilian
By organisation
Theoretical Computer Science, TCS
In the same journal
Applied Sciences
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 120 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf