Skip to main content

Formal Methods in System Design OnlineFirst articles

Open Access 04-04-2024

Software doping analysis for human oversight

This article introduces a framework that is meant to assist in mitigating societal risks that software can pose. Concretely, this encompasses facets of software doping as well as unfairness and discrimination in high-risk decision-making systems.

Authors:
Sebastian Biewer, Kevin Baum, Sarah Sterz, Holger Hermanns, Sven Hetmank, Markus Langer, Anne Lauber-Rönsberg, Franz Lehr

02-04-2024

Preface for the formal methods in system design specialissue on ‘FASE 2022’

Authors:
Einar Broch Johnsen, Manuel Wimmer

Open Access 28-02-2024

Porous invariants for linear systems

We introduce the notion of porous invariants for multipath affine loops over the integers. These are invariants definable in (fragments of) Presburger arithmetic and, as such, lack certain tame geometrical properties, such a convexity and …

Authors:
Engel Lefaucheux, Joël Ouaknine, David Purser, James Worrell

Open Access 17-02-2024

Parameter synthesis for Markov models: covering the parameter space

Markov chain analysis is a key technique in formal verification. A practical obstacle is that all probabilities in Markov models need to be known. However, system quantities such as failure rates or packet loss ratios, etc. are often not—or only …

Authors:
Sebastian Junges, Erika Ábrahám, Christian Hensel, Nils Jansen, Joost-Pieter Katoen, Tim Quatmann, Matthias Volk

14-02-2024

Bounded-memory runtime enforcement with probabilistic and performance analysis

Runtime Enforcement (RE) is a technique aimed at monitoring the executions of a system at runtime and ensure its compliance against a set of formal requirements (properties). RE employs an enforcer (a safety wrapper for the system) which modifies …

Authors:
Saumya Shankar, Ankit Pradhan, Srinivas Pinisetty, Antoine Rollet, Yliès Falcone

Open Access 04-12-2023

Termination of triangular polynomial loops

We consider the problem of proving termination for triangular weakly non-linear loops (twn-loops) over some ring $$\mathcal {S}$$ S like $$\mathbb {Z}$$ Z , $$\mathbb {Q}$$ Q , or $$\mathbb {R}$$ R . The guard of such a loop is an arbitrary …

Authors:
Marcel Hark, Florian Frohn, Jürgen Giesl

Open Access 30-11-2023

Extending rely-guarantee thinking to handle real-time scheduling

The reference point for developing any artefact is its specification; to develop software formally, a formal specification is required. For sequential programs, pre and post conditions (together with abstract objects) suffice; rely and guarantee …

Authors:
Cliff B. Jones, Alan Burns

Open Access 06-10-2023

Thread-modular counter abstraction: automated safety and termination proofs of parameterized software by reduction to sequential program verification

Parameterized programs are composed of an arbitrary number of concurrent, infinite-state threads. Automated safety and liveness proofs of such parameterized software are hard; state-of-the-art methods for their formal verification rely on …

Authors:
Thomas Pani, Georg Weissenbacher, Florian Zuleger

Open Access 02-08-2023 | Original Article

Certified SAT solving with GPU accelerated inprocessing

Since 2013, the leading SAT solvers in SAT competitions all use inprocessing, which, unlike preprocessing, interleaves search with simplifications. However, inprocessing is typically a performance bottleneck, in particular for hard or large …

Authors:
Muhammad Osama, Anton Wijs, Armin Biere

Open Access 07-07-2023 | Original Article

Round- and context-bounded control of dynamic pushdown systems

We consider systems with unboundedly many processes that communicate through shared memory. In that context, simple verification questions have a high complexity or, in the case of pushdown processes, are even undecidable. Good algorithmic …

Authors:
Benedikt Bollig, Mathieu Lehaut, Nathalie Sznajder

26-05-2023

Memory access protocols: certified data-race freedom for GPU kernels

GPUs offer parallelism as a commodity, but they are difficult to program correctly. Static analyzers that guarantee data-race freedom (DRF) are essential to help programmers establish the correctness of their programs (kernels). However, existing …

Authors:
Tiago Cogumbreiro, Julien Lange, Dennis Liew, Hannah Zicarelli

17-05-2023

Compositional verification of priority systems using sharp bisimulation

Sharp bisimulation is a refinement of branching bisimulation, parameterized by a subset of the system’s actions, called strong actions. This parameterization allows the sharp bisimulation to be tailored by the property under verification …

Authors:
Luca Di Stefano, Frédéric Lang

16-05-2023

Partial bounding for recursive function synthesis

Quantifier bounding is a standard approach in inductive program synthesis to deal with unbounded domains. In this paper, we propose one such bounding method for the synthesis of recursive functions over recursive input data types. The synthesis …

Authors:
Azadeh Farzan, Victor Nicolet

Open Access 12-05-2023

Isla: integrating full-scale ISA semantics and axiomatic concurrency models (extended version)

Architecture specifications such as Armv8-A and RISC-V are the ultimate foundation for software verification and the correctness criteria for hardware verification. They should define the allowed sequential and relaxed-memory concurrency behaviour …

Authors:
Alasdair Armstrong, Brian Campbell, Ben Simner, Christopher Pulte, Peter Sewell

19-04-2023

Hashing-based approximate counting of minimal unsatisfiable subsets

In many areas of computer science, we are given an unsatisfiable Boolean formula F in CNF, i.e. a set of clauses, with the goal to analyse the unsatisfiability. Examination of minimal unsatisfiable subsets (MUSes) of F is a kind of such analysis.

Authors:
Jaroslav Bendík, Kuldeep S. Meel

Open Access 28-03-2023

Global guidance for local generalization in model checking

SMT-based model checkers, especially IC3-style ones, are currently the most effective techniques for verification of infinite state systems. They infer global inductive invariants via local reasoning about a single step of the transition relation …

Authors:
Hari Govind Vediramana Krishnan, YuTing Chen, Sharon Shoham, Arie Gurfinkel

28-03-2023

On multi-language abstraction: Towards a static analysis of multi-language programs

Modern software development rarely takes place within a single programming language. Often, programmers appeal to cross-language interoperability. Examples are exploitation of novel features of one language within another, and cross-language code …

Authors:
Samuele Buro, Roy Crole, Isabella Mastroeni

Open Access 08-03-2023

Stochastic games with lexicographic objectives

We study turn-based stochastic zero-sum games with lexicographic preferences over objectives. Stochastic games are standard models in control, verification, and synthesis of stochastic reactive systems that exhibit both randomness as well as …

Authors:
Krishnendu Chatterjee, Joost-Pieter Katoen, Stefanie Mohr, Maximilian Weininger, Tobias Winkler

Open Access 22-11-2022

Stratified guarded first-order transition systems

First-order transition systems are a convenient formalism to specify parametric systems such as multi-agent workflows or distributed algorithms. In general, any nontrivial question about such systems is undecidable. Here, we present three …

Authors:
Christian Müller, Helmut Seidl

21-11-2022

Introducing robust reachability

We introduce a new property called robust reachability which refines the standard notion of reachability in order to take replicability into account. A bug is robustly reachable if a controlled input can make it so the bug is reached whatever the …

Authors:
Guillaume Girol, Benjamin Farinier, Sébastien Bardin