Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJanuary 2025JUST ACCEPTED
Reasoning About Exceptional Behavior At the Level of Java Bytecode with ByteBack
A program’s exceptional behavior can substantially complicate its control flow, and hence accurately reasoning about the program’s correctness. On the other hand, formally verifying realistic programs is likely to involve exceptions—a ubiquitous feature ...
- research-articleDecember 2024
On Formal Methods Thinking in Computer Science Education
- Brijesh Dongol,
- Catherine Dubois,
- Stefan Hallerstede,
- Eric Hehner,
- Carroll Morgan,
- Peter Müller,
- Leila Ribeiro,
- Alexandra Silva,
- Graeme Smith,
- Erik de Vink
Formal Aspects of Computing (FAC), Volume 37, Issue 1Article No.: 8, Pages 1–23https://doi.org/10.1145/3670419Formal Methods (FMs) radically improve the quality of the code artefacts they help to produce. They are simple, probably accessible to first-year undergraduate students and certainly to second-year students and beyond. Nevertheless, in many cases, they ...
- research-articleNovember 2024JUST ACCEPTED
Mechanised Safety Verification for a Distributed Autonomous Railway Control System
We present a distributed railway interlocking (IXL) method based on trains communicating with switch boxes deployed along the railway network for switching points and monitoring the occupancy states of track elements. The method does not require any ...
- research-articleNovember 2024JUST ACCEPTED
Footprint Logic for Object-Oriented Components (extended paper)
We introduce a new way of reasoning about invariance in terms of footprints in a program logic for object-oriented components. A footprint of an object-oriented component is formalized as a monadic predicate that describes which objects on the heap can be ...
- research-articleSeptember 2024
A Calculus for the Specification, Design, and Verification of Distributed Concurrent Systems
Formal Aspects of Computing (FAC), Volume 36, Issue 3Article No.: 16, Pages 1–54https://doi.org/10.1145/3672085A calculus for the specification and verification of distributed concurrent interactive real-time systems is introduced. Systems are specified by their interface behavior formalized by interface predicates and interface assertions. System designs in terms ...
-
- research-articleMarch 2024
The Concept of Class Invariant in Object-oriented Programming
Formal Aspects of Computing (FAC), Volume 36, Issue 1Article No.: 5, Pages 1–38https://doi.org/10.1145/3626201Class invariants—consistency constraints preserved by every operation on objects of a given type—are fundamental to building, understanding, and verifying object-oriented programs. For verification, however, they raise difficulties, which have not yet ...
- research-articleNovember 2023
Toward Verifying Cooperatively Scheduled Runtimes Using CSP
Formal Aspects of Computing (FAC), Volume 35, Issue 4Article No.: 22, Pages 1–45https://doi.org/10.1145/3605942In this article, we present the novel verification of synchronous channel communication and channel alternation (choice) by considering the environment within which our primitives are executing. Our work is in exploring development of a multi-threaded ...
- research-articleJune 2023
On Lexicographic Proof Rules for Probabilistic Termination
Formal Aspects of Computing (FAC), Volume 35, Issue 2Article No.: 11, Pages 1–25https://doi.org/10.1145/3585391We consider the almost-sure (a.s.) termination problem for probabilistic programs, which are a stochastic extension of classical imperative programs. Lexicographic ranking functions provide a sound and practical approach for termination of non-...
- research-articleSeptember 2022
A Debugging Game for Probabilistic Models
Formal Aspects of Computing (FAC), Volume 34, Issue 2Article No.: 7, Pages 1–25https://doi.org/10.1145/3536429One of the major advantages of model checking over other formal methods is its ability to generate a counterexample when a model does not satisfy is its specification. A counterexample is an error trace that helps to locate the source of the error. ...
- research-articleSeptember 2022
Tight Error Analysis in Fixed-point Arithmetic
Formal Aspects of Computing (FAC), Volume 34, Issue 1Article No.: 3, Pages 1–32https://doi.org/10.1145/3524051We consider the problem of estimating the numerical accuracy of programs with operations in fixed-point arithmetic and variables of arbitrary, mixed precision, and possibly non-deterministic value. By applying a set of parameterised rewrite rules, we ...
- research-articleJuly 2022
Algebra-Based Reasoning for Loop Synthesis
Formal Aspects of Computing (FAC), Volume 34, Issue 1Article No.: 4, Pages 1–31https://doi.org/10.1145/3527458Provably correct software is one of the key challenges of our software-driven society. Program synthesis—the task of constructing a program satisfying a given specification—is one strategy for achieving this. The result of this task is then a program that ...
- research-articleAugust 2021
Quantitative verification of Kalman filters
Formal Aspects of Computing (FAC), Volume 33, Issue 4-5Pages 669–693https://doi.org/10.1007/s00165-020-00529-wAbstractKalman filters are widely used for estimating the state of a system based on noisy or inaccurate sensor readings, for example in the control and navigation of vehicles or robots. However, numerical instability or modelling errors may lead to ...
- research-articleMarch 2021
UNITY and Büchi automata
Formal Aspects of Computing (FAC), Volume 33, Issue 2Pages 185–205https://doi.org/10.1007/s00165-020-00528-xAbstractUNITY is a model for concurrent specifications with a complete logic for proving progress properties of the form “P leads to Q”. UNITY is generalized to U-specifications by giving more freedom to specify the steps that are to be taken infinitely ...
- research-articleFebruary 2020
Linearizability on hardware weak memory models
Formal Aspects of Computing (FAC), Volume 32, Issue 1Pages 1–32https://doi.org/10.1007/s00165-019-00499-8AbstractLinearizability is a widely accepted notion of correctness for concurrent objects. Recent research has investigated redefining linearizability for particular hardware weak memory models, in particular for TSO. In this paper, we provide an overview ...
- research-articleDecember 2019
From LCF to Isabelle/HOL
Formal Aspects of Computing (FAC), Volume 31, Issue 6Pages 675–698https://doi.org/10.1007/s00165-019-00492-1AbstractInteractive theorem provers have developed dramatically over the past four decades, from primitive beginnings to today’s powerful systems. Here, we focus on Isabelle/HOL and its distinctive strengths. They include automatic proof search, borrowing ...
- research-articleAugust 2019
Discovering and correcting a deadlock in a channel implementation
Formal Aspects of Computing (FAC), Volume 31, Issue 4Pages 411–419https://doi.org/10.1007/s00165-019-00487-yAbstractWe investigate the cause of a deadlock in the implementation of a channel in a message-passing concurrency API. We model the channel implementation using the process algebra CSP, and then use the model checker FDR to find the cause of the ...
- research-articleJune 2019
Efficient verification of concurrent systems using local-analysis-based approximations and SAT solving
Formal Aspects of Computing (FAC), Volume 31, Issue 3Pages 375–409https://doi.org/10.1007/s00165-019-00483-2AbstractThis work develops a type of local analysis that can prove concurrent systems deadlock free. As opposed to examining the overall behaviour of a system, local analysis consists of examining the behaviour of small parts of the system to yield a ...
- research-articleFebruary 2019
Toward automatic verification of quantum programs
Formal Aspects of Computing (FAC), Volume 31, Issue 1Pages 3–25https://doi.org/10.1007/s00165-018-0465-3AbstractThis paper summarises the results obtained by the author and his collaborators in a program logic approach to the verification of quantum programs, including quantum Hoare logic, invariant generation and termination analysis for quantum programs. ...