9 research outputs found
Should We Learn Probabilistic Models for Model Checking? A New Approach and An Empirical Study
Many automated system analysis techniques (e.g., model checking, model-based
testing) rely on first obtaining a model of the system under analysis. System
modeling is often done manually, which is often considered as a hindrance to
adopt model-based system analysis and development techniques. To overcome this
problem, researchers have proposed to automatically "learn" models based on
sample system executions and shown that the learned models can be useful
sometimes. There are however many questions to be answered. For instance, how
much shall we generalize from the observed samples and how fast would learning
converge? Or, would the analysis result based on the learned model be more
accurate than the estimation we could have obtained by sampling many system
executions within the same amount of time? In this work, we investigate
existing algorithms for learning probabilistic models for model checking,
propose an evolution-based approach for better controlling the degree of
generalization and conduct an empirical study in order to answer the questions.
One of our findings is that the effectiveness of learning may sometimes be
limited.Comment: 15 pages, plus 2 reference pages, accepted by FASE 2017 in ETAP
Automatically ‘Verifying’ Discrete-Time Complex Systems through Learning, Abstraction and Refinement
Precisely modeling complex systems like cyber-physical systems is
challenging, which often render model-based system verification techniques like
model checking infeasible. To overcome this challenge, we propose a method
called LAR to automatically `verify' such complex systems through a combination
of learning, abstraction and refinement from a set of system log traces. We
assume that log traces and sampling frequency are adequate to capture `enough'
behaviour of the system. Given a safety property and the concrete system log
traces as input, LAR automatically learns and refines system models, and
produces two kinds of outputs. One is a counterexample with a bounded
probability of being spurious. The other is a probabilistic model based on
which the given property is `verified'. The model can be viewed as a proof
obligation, i.e., the property is verified if the model is correct. It can also
be used for subsequent system analysis activities like runtime monitoring or
model-based testing. Our method has been implemented as a self-contained
software toolkit. The evaluation on multiple benchmark systems as well as a
real-world water treatment system shows promising results.Comment: Accepted by IEEE Transactions on Software Engineerin
Recommended from our members
A review of modelling and verification approaches for computational biology
This paper reviews most frequently used computational modelling approaches and formal verification techniques in computational biology. The paper also compares a number of model checking tools and software suits used in analysing biological systems and biochemical networks and verifiying a wide range of biological properties
Simulative Model Checking of Steady State and Time-Unbounded Temporal Operators
Abstract. When working with large stochastic models simulation remains the only possible analysis technique. Therefore, simulative model checking is the way to go. While finite time horizon algorithms are well known for probabilistic linear-time temporal logic, we provide an infinite time horizon procedure as well as steady state computation, based on exact stochastic simulation algorithms. We demonstrate the approach on models of the RKIP inhibited ERK pathway and angiogenetic process