SwePub
Sök i LIBRIS databas

  Extended search

onr:"swepub:oai:DiVA.org:kth-207406"
 

Search: onr:"swepub:oai:DiVA.org:kth-207406" > Specification and v...

  • 1 of 1
  • Previous record
  • Next record
  •    To hitlist

Specification and verification of synchronization with condition variables

De Carvalho Gomes, Pedro (author)
KTH,Teoretisk datalogi, TCS
Gurov, Dilian, 1964- (author)
KTH,Teoretisk datalogi, TCS
Huisman, M. (author)
 (creator_code:org_t)
2017-02-16
2017
English.
In: 5th International Workshop on Formal Techniques for Safety-Critical Systems, FTSCS 2016. - Cham : Springer. - 9783319539454 ; , s. 3-19
  • Conference paper (peer-reviewed)
Abstract Subject headings
Close  
  • In this paper we propose a technique to specify and verify the correct synchronization of concurrent programs with condition variables. We define correctness as the liveness property: “every thread synchronizing under a set of condition variables eventually exits the synchronization”, under the assumption that every such thread eventually reaches its synchronization block. Our technique does not avoid the combinatorial explosion of interleavings of thread behaviors. Instead, we alleviate it by abstracting away all details that are irrelevant to the synchronization behavior of the program, which is typically significantly smaller than its overall behavior. First, we introduce SyncTask, a simple imperative language to specify parallel computations that synchronize via condition variables. We consider a SyncTask program to have a correct synchronization iff it terminates. Further, to relieve the programmer from the burden of providing specifications in SyncTask, we introduce an economic annotation scheme for Java programs to assist the automated extraction of SyncTask programs capturing the synchronization behavior of the underlying program. We prove that every Java program annotated according to the scheme (and satisfying the assumption) has a correct synchronization iff its corresponding SyncTask program terminates. We show how to transform the verification of termination into a standard reachability problem over Colored Petri Nets that is efficiently solvable by existing Petri Net analysis tools. Both the SyncTask program extraction and the generation of Petri Nets are implemented in our STaVe tool. We evaluate the proposed framework on a number of test cases as a proof-of-concept.

Subject headings

NATURVETENSKAP  -- Data- och informationsvetenskap -- Datavetenskap (hsv//swe)
NATURAL SCIENCES  -- Computer and Information Sciences -- Computer Sciences (hsv//eng)

Keyword

Computer software
Explosions
Extraction
Petri nets
Safety engineering
Security systems
Specifications
Synchronization
Automated extraction
Combinatorial explosion
Concurrent program
Imperative languages
Liveness properties
Parallel Computation
Reachability problem
Specification and verification
Java programming language

Publication and Content Type

ref (subject category)
kon (subject category)

Find in a library

To the university's database

  • 1 of 1
  • Previous record
  • Next record
  •    To hitlist

Find more in SwePub

By the author/editor
De Carvalho Gome ...
Gurov, Dilian, 1 ...
Huisman, M.
About the subject
NATURAL SCIENCES
NATURAL SCIENCES
and Computer and Inf ...
and Computer Science ...
Articles in the publication
5th Internationa ...
By the university
Royal Institute of Technology

Search outside SwePub

Kungliga biblioteket hanterar dina personuppgifter i enlighet med EU:s dataskyddsförordning (2018), GDPR. Läs mer om hur det funkar här.
Så här hanterar KB dina uppgifter vid användning av denna tjänst.

 
pil uppåt Close

Copy and save the link in order to return to this view