-
arXiv:2309.08962 [pdf, ps, other]
Dynamic Separation Logic
Abstract: This paper introduces a dynamic logic extension of separation logic. The assertion language of separation logic is extended with modalities for the five types of the basic instructions of separation logic: simple assignment, look-up, mutation, allocation, and de-allocation. The main novelty of the resulting dynamic logic is that it allows to combine different approaches to resolving these modaliti… ▽ More
Submitted 24 January, 2025; v1 submitted 16 September, 2023; originally announced September 2023.
Journal ref: Electronic Notes in Theoretical Informatics and Computer Science, Volume 3 - Proceedings of MFPS XXXIX (November 23, 2023) entics:12297
-
Proving Correctness of Parallel Implementations of Transition System Specifications
Abstract: The overall problem addressed in this paper is the long-standing problem of program correctness, and in particular programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel implementations of high-level transition system specifications. The implementation language underlying the method is based on the model of active (or concurrent)… ▽ More
Submitted 25 January, 2023; originally announced February 2023.
-
arXiv:1911.04195 [pdf, ps, other]
Verifying OpenJDK's LinkedList using KeY
Abstract: As a particular case study of the formal verification of state-of-the-art, real software, we discuss the specification and verification of a corrected version of the implementation of a linked list as provided by the Java Collection framework. Keywords: Java, standard library, deductive verification, KeY, Java Modeling Language, case study, bug
Submitted 11 November, 2019; originally announced November 2019.
Comments: 16 pages, 9 pages appendix
-
arXiv:1909.06215 [pdf, ps, other]
Reasoning about call-by-value: a missing result in the history of Hoare's logic
Abstract: We provide a sound and relatively complete Hoare-like proof system for reasoning about partial correctness of recursive procedures in presence of local variables and the call-by-value parameter mechanism, and in which the correctness proofs are linear in the length of the program. We argue that in spite of the fact that Hoare-like proof systems for recursive procedures were intensively studied, no… ▽ More
Submitted 13 September, 2019; originally announced September 2019.
Comments: 28 pages
-
Analysis of SLA Compliance in the Cloud -- An Automated, Model-based Approach
Abstract: Service Level Agreements (SLA) are commonly used to specify the quality attributes between cloud service providers and the customers. A violation of SLAs can result in high penalties. To allow the analysis of SLA compliance before the services are deployed, we describe in this paper an approach for SLA-aware deployment of services on the cloud, and illustrate its workflow by means of a case study.… ▽ More
Submitted 27 August, 2019; originally announced August 2019.
Comments: In Proceedings VORTEX 2018, arXiv:1908.09302
Journal ref: EPTCS 302, 2019, pp. 1-15
-
Multi-Threaded Actors
Abstract: In this paper we introduce a new programming model of multi-threaded actors which feature the parallel processing of their messages. In this model an actor consists of a group of active objects which share a message queue. We provide a formal operational semantics, and a description of a Java-based implementation for the basic programming abstractions describing multi-threaded actors. Finally, we… ▽ More
Submitted 10 August, 2016; originally announced August 2016.
Comments: In Proceedings ICE 2016, arXiv:1608.03131
Journal ref: EPTCS 223, 2016, pp. 51-66
-
arXiv:1004.4656 [pdf, ps, other]
Verification of Object-Oriented Programs: a Transformational Approach
Abstract: We show that verification of object-oriented programs by means of the assertional method can be achieved in a simple way by exploiting a syntax-directed transformation from object-oriented programs to recursive programs. This transformation suggests natural proofs rules and its correctness helps us to establish soundness and relative completeness of the proposed proof system. One of the difficulti… ▽ More
Submitted 8 November, 2011; v1 submitted 26 April, 2010; originally announced April 2010.
Comments: 49 pages. To appear in Journal of Computer and System Sciences. Stijn de Gouw is now a new author
ACM Class: F.3.1
-
arXiv:0907.4316 [pdf, ps, other]
Modular Verification of Recursive Programs
Abstract: We argue that verification of recursive programs by means of the assertional method of C.A.R. Hoare can be conceptually simplified using a modular reasoning. In this approach some properties of the program are established first and subsequently used to establish other program properties. We illustrate this approach by providing a modular correctness proof of the Quicksort program.
Submitted 24 July, 2009; originally announced July 2009.
Comments: 21 pages. appeared in: Languages: From Formal to Natural, Essays Dedicated to Nissim Francez on the Occasion of His 65th Birthday. Lecture Notes in Computer Science 5533 Springer 2009
ACM Class: F.3.1
-
arXiv:cs/0208042 [pdf, ps, other]
Proving correctness of Timed Concurrent Constraint Programs
Abstract: A temporal logic is presented for reasoning about the correctness of timed concurrent constraint programs. The logic is based on modalities which allow one to specify what a process produces as a reaction to what its environment inputs. These modalities provide an assumption/commitment style of specification which allows a sound and complete compositional axiomatization of the reactive behavior… ▽ More
Submitted 28 August, 2002; originally announced August 2002.
ACM Class: F.3.1; D.3.1; D.3.2
-
arXiv:cs/0207008 [pdf, ps, other]
Agent Programming with Declarative Goals
Abstract: A long and lasting problem in agent research has been to close the gap between agent logics and agent programming frameworks. The main reason for this problem of establishing a link between agent logics and agent programming frameworks is identified and explained by the fact that agent programming frameworks have not incorporated the concept of a `declarative goal'. Instead, such frameworks have… ▽ More
Submitted 3 July, 2002; originally announced July 2002.
ACM Class: F.3.1; F.3.2; I.2.5; I.2.4