Modular Verification of Liveness Properties of the I/O Behavior of Imperative Programs

4Citations
Citations of this article
2Readers
Mendeley users who have this article in their library.
Get full text

Abstract

One way of verifying systems whose components interact by exchanging messages, such as distributed systems or certain types of concurrent systems, is by defining a protocol that governs the communication between the components and then verifying that each component’s input and output (I/O) actions comply with its role in the protocol. In this paper, we propose a separation logic-based approach for specifying and verifying liveness properties of the I/O behavior of such components implemented as imperative programs, such as the property that a server eventually responds to each request. Our approach builds on earlier work for specifying safety properties of the I/O behavior of programs in separation logic by means of abstract nested Hoare triples, and encodes a liveness property verification problem into a termination verification problem by specifying that some appropriately chosen I/O operation (for example, the response to the N’th request, for some unknown but fixed N) will cause the program to terminate.

Cite

CITATION STYLE

APA

Jacobs, B. (2020). Modular Verification of Liveness Properties of the I/O Behavior of Imperative Programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 12476 LNCS, pp. 509–524). Springer Science and Business Media Deutschland GmbH. https://doi.org/10.1007/978-3-030-61362-4_29

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free