2016
DOI: 10.1007/s10703-016-0252-9
|View full text |Cite
|
Sign up to set email alerts
|

Synthesis of large dynamic concurrent programs from dynamic specifications

Abstract: We present a tractable method for synthesizing arbitrarily large concurrent programs, for a shared memory model with common hardware-available primitives such as atomic registers, compare-and-swap, load-linked/store conditional, etc. The programs we synthesize are dynamic: new processes can be created and added at run-time, and so our programs are not finite-state, in general. Nevertheless, we successfully exploit automatic synthesis and model-checking methods based on propositional temporal logic. Our method … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Year Published

2016
2016
2019
2019

Publication Types

Select...
4
2
1

Relationship

3
4

Authors

Journals

citations
Cited by 9 publications
(6 citation statements)
references
References 59 publications
0
6
0
Order By: Relevance
“…The notions of wait-for-graph and supercycle [7,8] were initially defined for a shared memory program P = P 1 ∥ • • • ∥ P K in pairwise normal form [4,5]: a binary symmetric relation I specifies the directly interacting pairs ("neighbors") {P i , P j } If P i has neighbors P j and P k , then the code in P i that interacts with P j is expressed separately from the code in P i that interacts with P k . These synchronization codes are executed synchronously and atomically, so the grain of atomicity is proportional to the degree of I .…”
Section: Related Work Discussion and Further Workmentioning
confidence: 99%
“…The notions of wait-for-graph and supercycle [7,8] were initially defined for a shared memory program P = P 1 ∥ • • • ∥ P K in pairwise normal form [4,5]: a binary symmetric relation I specifies the directly interacting pairs ("neighbors") {P i , P j } If P i has neighbors P j and P k , then the code in P i that interacts with P j is expressed separately from the code in P i that interacts with P k . These synchronization codes are executed synchronously and atomically, so the grain of atomicity is proportional to the degree of I .…”
Section: Related Work Discussion and Further Workmentioning
confidence: 99%
“…The inspect tool [46] is based on runtime model checking, which does not accept cyclic reachability spaces. In pairwise model checking [47], the general temporal formula is used for every pair of mutually-related processes operating in shared memory.…”
Section: Deadlock and Termination Checkingmentioning
confidence: 99%
“…Some other approaches to partial deadlock detection use temporal formulas that are not related to the structure of a verified model. However, such model-unrelated formulas require the system to have specific properties [15] [16]. If a system is non-terminating (cycling), a discontinuation of a process is obviously a deadlock [3].…”
Section: Related Work On Deadlock Detectionmentioning
confidence: 99%
“…As in typical programming language, server types are introduced (lines 3, 12), with formal parameters that specify agents and other servers used in actions. Every server has sets of its states (l.4, 13), services (l.5, 14) and actions (l.7-10, [16][17][18][19]. An action in Dedan is denoted {a.s.r, s.v}{a.s'.r', s.v'}.…”
Section: Example -Bounded Buffermentioning
confidence: 99%