Deductive software verification: from pen-and-paper proofs to industrial tools
Deductive software verification aims at formally verifying that all possible behaviors of a
given program satisfy formally defined, possibly complex properties, where the verification …
given program satisfy formally defined, possibly complex properties, where the verification …
Proving JDK's dual pivot quicksort correct
Sorting is a fundamental functionality in libraries, for which efficiency is crucial. Correctness
of the highly optimised implementations is often taken for granted. De Gouw et al. have …
of the highly optimised implementations is often taken for granted. De Gouw et al. have …
Smart contracts: a killer application for deductive source code verification
Smart contracts are agreements between parties which, not only describe the ideal
behaviour expected from those parties, but also automates such ideal performance …
behaviour expected from those parties, but also automates such ideal performance …
Context-aware trace contracts
The behavior of concurrent, asynchronous procedures depends in general on the call
context, because of the global protocol that governs scheduling. This context cannot be …
context, because of the global protocol that governs scheduling. This context cannot be …
Testing meets static and runtime verification
Test driven development (TDD) is a technique where test cases are used to guide the
development of a system. This technique introduces several advantages at the time of …
development of a system. This technique introduces several advantages at the time of …
A matching logic foundation for alk
AI Lungu, D Lucanu - International Colloquium on Theoretical Aspects of …, 2022 - Springer
Alk is an educational platform designed to help in learning algorithms and acquiring
algorithmic thinking. This paper describes how the semantics of Alk and the algorithm's …
algorithmic thinking. This paper describes how the semantics of Alk and the algorithm's …
Contract-Based Verification in TriCera
P Ernstedt - 2022 - diva-portal.org
Software takes a more prominent role for each day passed. With this ever increasing
obligation, programs grow more complex to satisfy the functional requirements of society …
obligation, programs grow more complex to satisfy the functional requirements of society …
[PDF][PDF] Proof Repositories for Correct-by-Construction So ware Product Lines
E Kuiter - 2020 - wwwiti.cs.uni-magdeburg.de
Highly-customizable software systems, also known as software product lines, are
commonplace in today's software industry. They are also becoming increasingly relevant for …
commonplace in today's software industry. They are also becoming increasingly relevant for …
Asynchronous cooperative contracts for cooperative scheduling
Formal specification of multi-threaded programs is notoriously hard, because thread
execution may be preempted at any point. In contrast, abstract concurrency models such as …
execution may be preempted at any point. In contrast, abstract concurrency models such as …
Alk: a formal-methods-based educational platform for enhancing algorithmic thinking
AI Lungu, V Teodorescu, A Zaborila… - Scientific Annals of …, 2024 - eprints.gla.ac.uk
Algorithm design courses are fundamental to computer science cur-ricula, but fostering
algorithmic thinking in students is challenging due to the diverse skills and creativity …
algorithmic thinking in students is challenging due to the diverse skills and creativity …