Synthesis of Synchronization using Uninterpreted Functions

Roderick Paul Bloem, Georg Hofferek, Bettina Könighofer, Robert Könighofer, Simon Außerlechner, Raphael Spörk

Publikation: Beitrag in Buch/Bericht/KonferenzbandBeitrag in einem KonferenzbandBegutachtung

Abstract

Correctness of a program with respect to concurrency is often hard to achieve, but easy to specify: the concurrent program should produce the same results as a sequential reference version. We show how to automatically insert small atomic sections into a program to ensure correctness with respect to this implicit specification. Using techniques from bounded software model checking, we transform the program into an SMT formula that becomes unsatisfiable when we add correct atomic sections. By using uninterpreted functions to abstract data-related computational details, we make our approach applicable to programs with very complex computations, e.g., cryptographic algorithms. Our method starts with an empty set of atomic sections, and, based on counterexamples obtained from the SMT solver, refines the program by adding new atomic sections until correctness is achieved. We compare two different such refinement methods and provide experimental results, including Linux kernel modules where we successfully fix race conditions.
Originalspracheenglisch
TitelProceedings of the 14th Conference on Formal Methods in Computer-Aided Design FMCAD 2014
Herausgeber (Verlag).
Seiten35-42
ISBN (Print)978-0-9835678-4-4
DOIs
PublikationsstatusVeröffentlicht - 2014
VeranstaltungInternational Conference on Formal Methods in Computer-Aided Design - Lausanne, Schweiz
Dauer: 21 Okt. 201424 Okt. 2014

Konferenz

KonferenzInternational Conference on Formal Methods in Computer-Aided Design
Land/GebietSchweiz
OrtLausanne
Zeitraum21/10/1424/10/14

Fields of Expertise

  • Information, Communication & Computing

Treatment code (Nähere Zuordnung)

  • Application

Fingerprint

Untersuchen Sie die Forschungsthemen von „Synthesis of Synchronization using Uninterpreted Functions“. Zusammen bilden sie einen einzigartigen Fingerprint.

Dieses zitieren