2016 10th International Symposium on Theoretical Aspects of Software Engineering (TASE) 2016
DOI: 10.1109/tase.2016.29
|View full text |Cite
|
Sign up to set email alerts
|

From Traces to Proofs: Proving Concurrent Programs Safe

Abstract: Nondeterminism in scheduling is the cardinal reason for difficulty in proving correctness of concurrent programs. A powerful proof strategy was recently proposed [6] to show the correctness of such programs. The approach captured dataflow dependencies among the instructions of an interleaved and error-free execution of threads. These data-flow dependencies were represented by an inductive data-flow graph (iDFG), which, in a nutshell, denotes a set of executions of the concurrent program that gave rise to the d… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
9
0

Year Published

2016
2016
2016
2016

Publication Types

Select...
1

Relationship

1
0

Authors

Journals

citations
Cited by 1 publication
(9 citation statements)
references
References 19 publications
(32 reference statements)
0
9
0
Order By: Relevance
“…As a consequence of Theorem 1 one can use an explicit state model checker for state reachability analysis of finite data domain programs. However, in this paper we are interested in adapting a recently proposed trace partitioning based verification method [16,25] for relaxed memory models. This method has been shown very effective for verification under the SC memory model.…”
Section: Trace Partitioning Approachmentioning
confidence: 99%
See 4 more Smart Citations
“…As a consequence of Theorem 1 one can use an explicit state model checker for state reachability analysis of finite data domain programs. However, in this paper we are interested in adapting a recently proposed trace partitioning based verification method [16,25] for relaxed memory models. This method has been shown very effective for verification under the SC memory model.…”
Section: Trace Partitioning Approachmentioning
confidence: 99%
“…Towards this we first define TSO k , TSO semantics with buffer size k, and then characterize a bound k 0 such that if a program is safe in TSO k0 then it is safe for any buffer bound greater than k 0 . We adapt a recently proposed trace partitioning based approach [16,25] for the TSO memory model. These methods work for the SC memory model as follows: the set of all SC executions of a program P are partitioned in a set of equivalence classes such that it is sufficient to prove the correctness of only one execution per equivalence class.…”
Section: Introductionmentioning
confidence: 99%
See 3 more Smart Citations