13 research outputs found
Learning Moore Machines from Input-Output Traces
The problem of learning automata from example traces (but no equivalence or
membership queries) is fundamental in automata learning theory and practice. In
this paper we study this problem for finite state machines with inputs and
outputs, and in particular for Moore machines. We develop three algorithms for
solving this problem: (1) the PTAP algorithm, which transforms a set of
input-output traces into an incomplete Moore machine and then completes the
machine with self-loops; (2) the PRPNI algorithm, which uses the well-known
RPNI algorithm for automata learning to learn a product of automata encoding a
Moore machine; and (3) the MooreMI algorithm, which directly learns a Moore
machine using PTAP extended with state merging. We prove that MooreMI has the
fundamental identification in the limit property. We also compare the
algorithms experimentally in terms of the size of the learned machine and
several notions of accuracy, introduced in this paper. Finally, we compare with
OSTIA, an algorithm that learns a more general class of transducers, and find
that OSTIA generally does not learn a Moore machine, even when fed with a
characteristic sample
Predictive Runtime Verification of Stochastic Systems
Runtime Verification (RV) is the formal analysis of the execution of a system against some
properties at runtime. RV is particularly useful for stochastic systems that have a non-zero
probability of failure at runtime. The standard RV assumes constructing a monitor that
checks only the currently observed execution of the system against the given properties.
This dissertation proposes a framework for predictive RV, where the monitor instead
checks the current execution with its finite extensions against some property. The extensions are generated using a prediction model, that is built based on execution samples
randomly generated from the system. The thesis statement is that predictive RV for
stochastic systems is feasible, effective, and useful.
The feasibility is demonstrated by providing a framework, called Prevent, that builds a
predictive monitor by using trained prediction models to finitely extend an execution path,
and computing the probabilities of the extensions that satisfy or violate the given property.
The prediction model is trained using statistical learning techniques from independent and
identically distributed samples of system executions. The prediction is the result of a
quantitative bounded reachability analysis on the product of the prediction model and the
automaton specifying the property. The analysis results are computed offline and stored in
a lookup table. At runtime the monitor obtains the state of the system on the prediction
model based on the observed execution, directly or by approximation, and uses the lookup
table to retrieve the computed probability that the system at the current state will satisfy
or violate the given property within some finite number of steps.
The effectiveness of Prevent is shown by applying abstraction when constructing the
prediction model. The abstraction is on the observation space based on extracting the
symmetry relation between symbols that have similar probabilities to satisfy a property.
The abstraction may introduce nondeterminism in the final model, which is handled by
using a hidden state variable when building the prediction model. We also demonstrate
that, under the convergence conditions of the learning algorithms, the prediction results
from the abstract models are the same as the concrete models.
Finally, the usefulness of Prevent is indicated in real-world applications by showing
how it can be applied for predicting rare properties, properties with very low but non-zero
probability of satisfaction. More specifically, we adjust the training algorithm that uses
the samples generated by importance sampling to generate the prediction models for rare
properties without increasing the number of samples and without having a negative impact
on the prediction accuracy
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 specified with the state-based Hoare-style contracts common
in deductive verification. Recent work generalized state-based to trace
contracts, which permit to specify the internal behavior of a procedure, such
as calls or state changes, but not its call context. In this article we propose
a program logic of context-aware trace contracts for specifying global behavior
of asynchronous programs. We also provide a sound proof system that addresses
two challenges: To observe the program state not merely at the end points of a
procedure, we introduce the novel concept of an observation quantifier. And to
combat combinatorial explosion of possible call sequences of procedures, we
transfer Liskov's principle of behavioral subtyping to the analysis of
asynchronous procedures
Tools and Algorithms for the Construction and Analysis of Systems
This open access book constitutes the proceedings of the 28th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2022, which was held during April 2-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 46 full papers and 4 short papers presented in this volume were carefully reviewed and selected from 159 submissions. The proceedings also contain 16 tool papers of the affiliated competition SV-Comp and 1 paper consisting of the competition report. TACAS is a forum for researchers, developers, and users interested in rigorously based tools and algorithms for the construction and analysis of systems. The conference aims to bridge the gaps between different communities with this common interest and to support them in their quest to improve the utility, reliability, exibility, and efficiency of tools and algorithms for building computer-controlled systems
Tools and Algorithms for the Construction and Analysis of Systems
This open access book constitutes the proceedings of the 28th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2022, which was held during April 2-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 46 full papers and 4 short papers presented in this volume were carefully reviewed and selected from 159 submissions. The proceedings also contain 16 tool papers of the affiliated competition SV-Comp and 1 paper consisting of the competition report. TACAS is a forum for researchers, developers, and users interested in rigorously based tools and algorithms for the construction and analysis of systems. The conference aims to bridge the gaps between different communities with this common interest and to support them in their quest to improve the utility, reliability, exibility, and efficiency of tools and algorithms for building computer-controlled systems