2021
DOI: 10.1007/s10703-021-00370-8
|View full text |Cite
|
Sign up to set email alerts
|

Rely-guarantee bound analysis of parameterized concurrent shared-memory programs

Abstract: We present a thread-modular proof method for complexity and resource bound analysis of concurrent, shared-memory programs. To this end, we lift Jones’ rely-guarantee reasoning to assumptions and commitments capable of expressing bounds. The compositionality (thread-modularity) of this framework allows us to reason about parameterized programs, i.e., programs that execute arbitrarily many concurrent threads. We automate reasoning in our logic by reducing bound analysis of concurrent programs to the sequential c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
1
1

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(3 citation statements)
references
References 45 publications
0
3
0
Order By: Relevance
“…Liveness verification of array systems is much more difficult than safety verification, and therefore has relatively fewer automatic techniques and tool supports. In the context of multi-threaded programs, thread-modular analysis [Cook et al 2007;Ketema and Donaldson 2017;Malkis et al 2007;Pani et al 2021Pani et al , 2023Popeea and Rybalchenko 2012] is a popular verification methodology. The analysis considers each thread in isolation and overapproximates the behavior of the other threads by assuming that their effects are passive or irrelevant.…”
Section: Related Workmentioning
confidence: 99%
“…Liveness verification of array systems is much more difficult than safety verification, and therefore has relatively fewer automatic techniques and tool supports. In the context of multi-threaded programs, thread-modular analysis [Cook et al 2007;Ketema and Donaldson 2017;Malkis et al 2007;Pani et al 2021Pani et al , 2023Popeea and Rybalchenko 2012] is a popular verification methodology. The analysis considers each thread in isolation and overapproximates the behavior of the other threads by assuming that their effects are passive or irrelevant.…”
Section: Related Workmentioning
confidence: 99%
“…The thread-modular approach to proving termination of concurrent programs [10,34,35,37] aims to prove a thread's termination without reasoning directly about its interactions with other threads, but rather by inferring facts about the thread's environment. In [37], this approach is combined with compositional reasoning about termination arguments.…”
Section: Concurrent Program Terminationmentioning
confidence: 99%
“…Checking termination of concurrent programs is an important practical problem and has received a lot of attention [3,29,35,37]. A variety of interesting techniques, including thread-modular reasoning [10,34,35,37], causality-based reasoning [29], and well-founded proof spaces [15], among others, have been used to advance the state of the art in reasoning about concurrent program termination. Independently, it has been established that leveraging commutativity in proving safety properties can be a powerful tool in improving automated checkers [16][17][18][19].…”
Section: Introductionmentioning
confidence: 99%