FM24: 26TH INTERNATIONAL SYMPOSIUM ON FORMAL METHODS
PROGRAM FOR THURSDAY, SEPTEMBER 12TH
Days:
previous day
next day
all days

View: session overviewtalk overview

09:00-10:20 Session 20: Keynote 2
09:00
Getting Chip Card Payments Right
10:00
Correctness-guaranteed strategy synthesis and compression for multi-agent autonomous systems (Journal first)

ABSTRACT. Planning is a critical function of multi-agent autonomous systems, which includes path finding and task scheduling. Exhaustive search-based methods such as model checking and algorithmic game theory can solve simple instances of multi-agent planning. However, these methods suffer from state-space explosion when the number of agents is large. Learning-based methods can alleviate this problem, but lack a guarantee of correctness of the results. In this paper, we introduce MoCReL, a new version of our previously proposed method that combines model checking with reinforcement learning in solving the planning problem. The approach takes advantage of reinforcement learning to synthesize path plans and task schedules for large numbers of autonomous agents, and of model checking to verify the correctness of the synthesized strategies. Further, MoCReL can compress large strategies into smaller ones that have down to 0.05% of the original sizes, while preserving their correctness, which we show in this paper. MoCReL is integrated into a new version of Uppaal Stratego that supports calling external libraries when running learning and verification of timed games models.

https://doi.org/10.1016/j.scico.2022.102894

10:20-10:50Coffee Break
10:50-12:30 Session 22A: Learn and Repair
10:50
State Matching and Multiple References in Adaptive Active Automata Learning

ABSTRACT. Active automata learning (AAL) is a method to infer state machines by interacting with black-box systems. Adaptive AAL aims to reduce the sample complexity of AAL by incorporating domain specific knowledge in the form of (similar) reference models. Such reference models appear naturally when learning multiple versions or variants of a software system. In this paper, we present state matching, which allows flexible use of the structure of these reference models by the learner. State matching is the main ingredient of adaptive L#, a novel framework for adaptive learning, built on top of L#. Our empirical evaluation shows that adaptive L# improves the state of the art by up to two orders of magnitude.

11:10
DFAMiner: Mining minimal separating DFAs from labelled samples

ABSTRACT. We propose DFAMiner, a passive leaning tool for learning minimal separating deterministic finite automata (DFA) from a set of labelled samples. Separating automata are an interesting class of automata that occurs generally in regular model checking and has raised some interest in foundational questions of parity game solving. We first propose a simple and linear-time algorithm that incrementally constructs a three-valued DFA (3DFA) from a set of labelled samples given in the usual lexicographical order. This 3DFA has accepting and rejecting states as well as don't-care states, so it can exactly recognise the labelled examples. We then apply our tool to mining a minimal separating DFA for the labelled samples by minimising the constructed 3DFA via a reduction to solving SAT problems. Empirical evaluation shows that our tool outperforms current state-of-the-art tools by orders of magnitude on standard benchmarks for learning minimal separating DFAs from samples. Progress in the efficient construction of separating DFAs can also lead to finding the lower bound of parity game solving, where we show that DFAMiner can create optimal separating automata for simple languages with up to 8 colours. Future improvements might offer inroads to better data structures.

11:30
Automated Repair of Information Flow Security in Android Implicit Inter-App Communication

ABSTRACT. Android's intents provide a form of inter-app communication with implicit, capability-based matching of senders and receivers. Such kind of implicit addressing provides some much-needed flexibility but also increases the risk of introducing information flow security bugs and vulnerabilities---as there is no standard way to specify what permissions are required to access the data sent through intents so that it is handled properly.

To mitigate such risks of intent-based communication, this paper introduces INTENTREPAIR, an automated technique to detect such information flow security leaks and to automatically repair them. INTENTREPAIR first finds sender and receiver modules that may communicate via intents, and such that the sender sends sensitive information that the receiver forwards to a public channel. To prevent this from happening, INTENTREPAIR patches the sender so that it also includes information about the permissions needed to access the data; and the receiver so that it will only disclose the sensitive information if it possesses the required permissions.

We evaluated a prototype implementation of INTENTREPAIR on 869 Android open-source apps, showing that it is effective in automatically detecting and repairing information flow security bugs that originate in implicit intent-based communication, introducing only a modest overhead in terms of patch size.

11:50
Learning Branching-Time Properties in CTL and ATL via Constraint Solving

ABSTRACT. We address the problem of learning temporal properties from the branching-time behavior of systems. In recent years, learning temporal properties from system behavior has crystallized as an effective approach to synthesizing specifications for formal verification and explaining the temporal behavior of systems for interpretability purposes. Most research in this field has focused on learning linear temporal properties specified using popular logics, such as Linear Temporal Logic (LTL) and Signal Temporal Logic (STL). Branching-time logics such as Computation Tree Logic (CTL) and Alternating-time Temporal Logic (ATL), despite being extensively utilized in specifying and verifying distributed and multi-agent systems, have not received adequate attention. Thus, in this paper, we investigate the problem of learning CTL and ATL formulas from examples of system behavior. As input to the learning problems, we rely on the typical representations of branching behavior such as kripke structures and concurrent game structures. We devise efficient algorithms that rely on reducing the learning problems to a series of satisfiability problems. The crux of the reduction involves symbolically encoding both the search for prospective formulas and their fixed-point based model checking algorithms. We implement our algorithms in an open-source tool and have evaluated them to extract several useful CTL and ATL formulas in practical scenarios.

12:10
Alloy repair hint generation based on historical data

ABSTRACT. Platforms to support novices learning to program are often accompanied by automated next-step hints that guide them towards correct solutions. Many of those approaches are data-driven, building on historical data to generate higher quality hints. Formal specifications are increasingly relevant in software engineering activities, but very little support exists to help novices while learning. Alloy is a formal specification language often used in courses on formal software development methods, and a platform---Alloy4Fun---has been proposed to support autonomous learning. While non-data-driven specification repair techniques have been proposed for Alloy that could be leveraged to generate next-step hints, no data-driven hint generation approach has been proposed so far. This paper presents the first data-driven hint generation technique for Alloy and its implementation as an extension to Alloy4Fun, being based on the data collected by that platform. This historical data is processed into graphs that capture past students' progress while solving specification challenges. Hint generation can be customized with policies that take into consideration diverse factors, such as the popularity of paths in those graphs successfully traversed by previous students. Our evaluation shows that the performance of this new technique is competitive with non-data-driven repair techniques. To assess the quality of the hints, and help select the most appropriate hint generation policy, we conducted a survey with experienced Alloy instructors.

10:50-12:30 Session 22B: Foundations 3
Location: Room 3.0.3
10:50
Misconceptions in Finite-Trace and Infinite-Trace Linear Temporal Logic

ABSTRACT. With the growing use of temporal logics in areas ranging from robot planning to runtime verification, it is critical that users have a clear understanding of what a specification means. Toward this end, we have been developing a catalog of semantic errors and a suite of test instruments targeting various user-groups. The catalog is of interest to users and tool-builders, who can use it to identify mistakes. The test instruments are suitable for classroom teaching or self-study.

This paper reports on five sets of survey data collected over a three-year span. We study two topics: misconceptions in finite-trace LTLf in three LTL-aware audiences, and misconceptions in standard LTL among beginning students. We find several mistakes, even among experts. In addition, the data supports several categories of errors in both LTLf and LTL that have not been identified in prior work. These findings, based on data from actual users, offer insights into what specific ways temporal logics are tricky and provide a groundwork for future interventions.

11:10
Sound and Complete Witnesses for Template-based Verification of LTL Properties on Polynomial Programs

ABSTRACT. We study the classical problem of verifying programs with respect to formal specifications given in the linear temporal logic (LTL). We first present novel sound and complete witnesses for LTL verification over imperative programs. Our witnesses are applicable to both verification (proving) and refutation (finding bugs) settings. We then consider LTL formulas in which atomic propositions can be polynomial constraints and turn our focus to polynomial arithmetic programs, i.e. programs in which every assignment and guard consists only of polynomial expressions. For this setting, we provide an efficient algorithm to automatically synthesize such LTL witnesses. Our synthesis procedure is both sound and semi-complete. Finally, we present experimental results demonstrating the effectiveness of our approach and that it can handle programs which were beyond the reach of previous state-of-the-art tools.

11:30
PyBDR: Set-boundary based Reachability Analysis Toolkit in Python

ABSTRACT. We present PyBDR, a Python reachability analysis toolkit based on set-boundary analysis, which centralizes on widely-adopted set propagation techniques for formal verification, controller synthesis, state estimation, etc. It employs boundary analysis of initial sets to mitigate the wrapping effect during computations, thus improving the performance of reachability analysis algorithms without significantly increasing computational costs. Beyond offering various set representations such as polytopes and zonotopes, this toolkit particularly excels in interval arithmetic by extending operations to the tensor level, enabling efficient parallel interval arithmetic computation and unifying vector and matrix intervals into a single framework. Furthermore, it features symbolic computation of derivatives of arbitrary order and evaluates them as real or interval-valued functions, essential for approximating behaviours of nonlinear systems through linearization at specific points. The algorithms embedded in PyBDR demonstrate our tool’s capability to support the development of prototype reachable set computation methodologies. Our comparative studies showcase its strengths in processing verification tasks with large initial sets or extended time horizons.

11:50
CFaults: Model-Based Diagnosis for Fault Localization in C with Multiple Test Cases

ABSTRACT. Debugging is one of the most time-consuming and expensive tasks in software development. Several formula-based fault localization (FBFL) methods have been proposed, but they fail to guarantee a set of diagnoses across all failing tests or may produce redundant diagnoses that are not subset-minimal, particularly for programs with multiple faults.

This paper introduces a novel fault localization approach for C programs with multiple faults. CFaults leverages Model-Based Diagnosis (MBD) with multiple observations and aggregates all failing test cases into a unified MaxSAT formula. Consequently, our method guarantees consistency across observations and simplifies the fault localization procedure. Experimental results on two benchmark sets of C programs, TCAS and C-Pack-IPAs, show that CFaults is faster than other FBFL approaches like BugAssist and SNIPER. Moreover, CFaults only generates subset-minimal diagnoses of faulty statements, whereas the other approaches tend to enumerate redundant diagnoses.

12:10
The Opacity of Timed Automata

ABSTRACT. Opacity serves as a critical security and confidentiality property, which concerns whether an intruder can unveil a system's secret based on structural knowledge and observed behaviors. Opacity in timed systems presents greater complexity compared to untimed systems, and it has been established that opacity for timed automata is undecidable. However, there exists a gap in the original proof concerning one-clock timed automata. In this paper, we explore three types of opacity within timed automata: language-based timed opacity, initial-location timed opacity, and current-location timed opacity. We begin by formalizing these concepts and establishing transformation relations among them. Subsequently, we fill the gap in the original proof by demonstrating the undecidability of the opacity problem for one-clock timed automata. Furthermore, we offer a constructive proof for the conjecture regarding the decidability of opacity for timed automata in discrete-time semantics. Additionally, we present a sufficient condition and a necessary condition for the decidability of opacity in specific subclasses of timed automata.

12:30-14:00Lunch Break
14:00-15:20 Session 24: FME Fellowship award
14:00
FME Fellowship Award
15:00
Extending rely-guarantee thinking to handle real-time scheduling (Journal first)
PRESENTER: Cliff Jones

ABSTRACT. 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 conditions extend the scope of formal development approaches to tackle concurrency. In addition, real-time systems need ways of both requiring progress and relating that progress to some notion of time. This paper extends rely-guarantee ideas to cope with specifications of—and assumptions about—real-time schedulers. Furthermore it shows how the approach helps identify and specify fault-tolerance aspects of such schedulers by systematically challenging the assumptions.

https://doi.org/10.1007/s10703-023-00441-y

15:20-15:50Coffee Break
17:00-19:00 Social event

Milan by historic tram.

Rendezvous at:

Piazza Castello, at the corner with via Beltrami
Click here for the position in Google Maps

19:30-23:00 Social dinner

The dinner will be held at:

Liberty Ballroom at Osteria del Treno
Via San Gregorio, 46 - 20124 Milano
Click here for the position in Google Maps