<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Diagnosis of Probabilistic Models using Causality and Regression</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Hichem Debbi Department of Computer Science University of M'sila M'sila</institution>
          <country country="DZ">Algeria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Probabilistic Model Checking (PMC), Probabilistic Computation Tree Logic (PCTL)</institution>
          ,
          <addr-line>Probabilistic Counterexample, Causality, Structural Equation Modeling (SEM), Regression Analysis</addr-line>
        </aff>
      </contrib-group>
      <fpage>34</fpage>
      <lpage>44</lpage>
      <abstract>
        <p>The counterexample in probabilistic model checking (PMC) is a set of paths in which a path formula holds, and their accumulated probability violates the probability bound. However, understanding the counterexample is not an easy task. In this paper we address the complementary task of counterexample generation, which is the counterexample analysis. We propose an aided-diagnostic method for probabilistic counterexamples based on the notions of causality and regression analysis. Given a counterexample for a Probabilistic CTL (PCTL)/Continuous Stochastic Logic (CSL) formula that does not hold over Discrete Time Markov Chain (DTMC)/Continuous Time Markov Logic (CTMC) model, this method generates the causes of the violation, and describes their contribution to the error in the form of a regression model.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        Probabilistic Model Checking (PMC) has appeared
as an extension of model checking for modelling and
analysing systems that exhibit stochastic behaviour.
Several case studies in several domains have been
addressed from randomized distributed algorithms
and network protocols to biological systems and
cloud computing environments. These systems
are described usually using Discrete-Time Markov
Chains (DTMC), Continuous-Time Markov Chains
(CTMC) or Markov Decision Processes (MDP), and
verified against properties specified in Probabilistic
Computation Tree Logic (PCTL)
        <xref ref-type="bibr" rid="ref19">Hansson and
Jonsson (1994)</xref>
        or Continuous Stochastic Logic
(CSL) (
        <xref ref-type="bibr" rid="ref6">Aziz et al (2000</xref>
        ),
        <xref ref-type="bibr" rid="ref7">Baier et al (2003</xref>
        )).
Unlike the previous methods proposed for
conventional model checking that generate the
counterexample as a single path ending with bad state
representing the failure, the task in PMC is quite different.
The counterexample in PMC is a set of evidences
or diagnostic paths that satisfy the formula and their
probability mass violates the probability bound. As
it is in conventional model checking, the generated
counterexample should be small and most indicative
to be easy for understanding Aljazzar and Leue
(2009, 2010, 2011);
        <xref ref-type="bibr" rid="ref18">Han et al. (2009)</xref>
        . In PMC, this
task is more challenging.
      </p>
      <p>
        Generating small and indicative counterexamples
only is not enough for understanding the error.
Therefore, in conventional model checking, many
works have addressed the analysis of
counterexamples to understand the failure (
        <xref ref-type="bibr" rid="ref8">Ball et al. (2003)</xref>
        ,
        <xref ref-type="bibr" rid="ref34">Zeller et al. (2002)</xref>
        ,
        <xref ref-type="bibr" rid="ref15">Groce et al. (2003)</xref>
        ,
        <xref ref-type="bibr" rid="ref16">Groce et al.
(2006)</xref>
        ,
        <xref ref-type="bibr" rid="ref30">Wang et al. (2006)</xref>
        ,
        <xref ref-type="bibr" rid="ref24">Kumazawa and Tamai
(2011)</xref>
        ,
        <xref ref-type="bibr" rid="ref9">Beer et al. (2011)</xref>
        ). As it was done in
conventional model checking, addressing the error
explanation in the PMC is highly required, especially
that probabilistic counterexample is a set of multiple
paths instead of single path, and it is probabilistic.
In this paper, we address the diagnosis of
probabilistic counterexamples. To this end, we adopt
the definition of causality based on counterfactuals
by Halpern and Pearl (
        <xref ref-type="bibr" rid="ref17">Halpern and Pearl (2001)</xref>
        )
to reason formally about the causes, and then
transform the causality model into regression model
using Structural Equation Modelling (SEM) in order
to quantify the contribution of these causes to the
error . SEM is a comprehensive analytical method
used for testing and estimating causal relationships
between variables embedded in theoretical causal
model (
        <xref ref-type="bibr" rid="ref33">Wright and Sewall (1921)</xref>
        ). Regression
analysis, path analysis and factor analysis are all
special cases of SEM.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2.1. Probabilistic Computation Tree Logic (PCTL)</title>
      <p>
        This paper contains two complementary
contributions. The first defines a formal causality model for
the counterexample, where we give the definition of
an actual cause for the violation of PCTL/CSL
formula = P p('). The second complements the first
by generating a regression model from the causality
model, which quantifies the effect of each cause on
the violation of the PCTL/CSL formula. In this paper,
we will focus on upper bounded properties. Lower
bounded properties can be transformed easily to
upper bounded properties (
        <xref ref-type="bibr" rid="ref4">Aljazzar and Leue (2010)</xref>
        ,
        <xref ref-type="bibr" rid="ref18">Han et al. (2009)</xref>
        ). Our approach does not ignore
the previous approaches of generating probabilistic
counterexamples, but instead it is based on them.
Our approach for error explanation is based directly
on the most indicative counterexamples(
        <xref ref-type="bibr" rid="ref4">Aljazzar and
Leue (2010)</xref>
        ,
        <xref ref-type="bibr" rid="ref18">Han et al. (2009)</xref>
        ).
      </p>
      <p>The rest of this paper is organized as follows.
In Section 2, we present some preliminaries
and definitions. The Probabilistic Computation Tree
Logic (PCTL) and probabilistic counterexamples are
presented in this section. In section 3, we give the
definition of Causes in probabilistic counterexamples
with the formal causality model, and then we
show how to generate the regression model from
it. Following that, we introduce an algorithm for
generating the causes of violation of PCTL/CSL
properties and the related regression model. Section
4 describes an experimental study. Section 5
presents the related works. At the end, we present
conclusion and future works.</p>
    </sec>
    <sec id="sec-3">
      <title>2. PRELIMINARIES AND DEFINITIONS</title>
      <p>A Discrete-Time Markov Chain (DTMC)is a tuple
D = (S; sinit; P; L) , such that S is a finite set of
states, sinit 2 S the initial state,P : S S ! [0; 1]
represents the transition probability matrix, L : S !
2AP is a labelling function that assigns to each state
s 2 S the set L(s) of atomic propositions. An infinite
path is a sequence of states s0s1s2::: , where
P (si; si+1) &gt; 0 for all i 0. A finite path is finite
prefix of an infinite path. We define a set of paths
starting from a state s0 by P aths(s0). The underlying
-algebra is formed by the cylinder sets which are
induced by finite paths in P aths(s0). The probability
of this cylinder set is:</p>
      <p>P (
2 P aths(s0)js0s1:::snis a prefix of ) =</p>
      <p>Qi 0&lt;n P (si; si+1)
The Probabilistic Computation Tree Logic (PCTL)
has appeared as an extension of CTL for the
specification of systems that exhibit stochastic
behaviour. We use the PCTL for defining quantitative
properties of DTMCs. PCTL state formulas are
formed according to the following grammar:
::= truejaj: j 1 ^ 2jP p(')
Where a 2 AP is an atomic proposition, ' is a
path formula, P is a probability threshold operator,
2 f&lt;; ; &gt;; g is a comparison operator, and p
is a probability threshold. The path formulas ' are
formed according to the following grammar:
' ::=
1U 2j 1W 2j 1U n 2j 1W
n
2
Where 1and 2 are state formulas and n 2 N . As in
CTL, the temporal operators (U for strong until, W for
weak (unless) until and their bounded variants) are
required to be immediately preceded by the operator
P. The PCTL formula is a state formula, where
path formulas only occur inside the operator P. The
operator P can be seen as a quantification operator
for both the operators 8 (universal quantification) and
9 (existential quantification), since the properties are
representing quantitative requirements.</p>
      <p>The semantics of a PCTL formula over a state s (or
a path ) in a DTMC model D = (S; sinit; P; L) can
be defined by a satisfaction relation denoted by j=.
The satisfaction of P p(') on DTMC depends on the
probability mass of set of paths satisfying '. This set
is considered as a countable union of cylinder sets,
so that, its measurability is ensured.</p>
      <p>The semantics of PCTL state formulas for DTMC is
defined as follows:
s j= true , true
s j= a , a 2 L(s)
s j= : , s 6j=
s j= 1 ^ 2 , s j= 1 ^ s j=
s j= P p(') , P (s j= ')
p
2
Given a path = s0s1::: in D and an integer j
0, where [j] = sj , The semantics of PCTL path
formulas for DTMC is defined as for CTL as follows:
j= 1U 2 , 9j
j: [k] j= 1)
j=
j=
j: [k] j= 1)</p>
      <p>j= 1W n 2 ,
n: [k] j= 1)
11UW n2 , j=
2 , 90
0: [j] j=
2 ^ (80</p>
      <p>k &lt;
1U 2 _ (8k
j n: [j] j=
0: [k] j=
2 ^ (80
1)
k &lt;
j=
1U n 2 _ (80
k
For specifying properties of CTMC, we use The
Continuous Stochastic Logic (CSL). CSL has the
same syntax and semantics as PCTL, except that in
CSL, the time bound in bounded until formula can be
presented of an interval of non-negative reals. Before
verifying CSL properties over CTMC, the CTMC has
to be transformed to its embedded DTMC. Therefore,
further description of CTMC model checking is
beyond the scope of this paper. We refer to [2, 3]
for further details. In the rest of paper, we refer to
probabilistic formula PCTL/CSL as = P p(').</p>
    </sec>
    <sec id="sec-4">
      <title>2.2. Probabilistic Counterexamples</title>
      <p>
        The probabilistic counterexample is generated
when a PCTL/CSL property is not satisfied. The
probabilistic property = P p(') is refuted when
the probability mass of the paths satisfying '
exceeds the bound p. Therefore, a probabilistic
counterexample for the property is formed by
a set of paths starting at state s and satisfying
the path formula '. We denote these paths by
P aths(s0 j= ). The counterexample can be formed
of set of finite paths where each path = s0s1:::sn
is a prefix of an infinite path from P aths(s0 j= )
satisfying the formula '.We denote these paths by
F initeP aths(s0 j= ). These finite paths are also
called diagnostic paths (
        <xref ref-type="bibr" rid="ref4">Aljazzar and Leue (2010)</xref>
        ,
        <xref ref-type="bibr" rid="ref5">Aljazzar and Leue (2011)</xref>
        ).
      </p>
      <p>It is clear that we can get a set of probabilistic
counterexamples, noted P CX(s0 j= ), which is
a set of any combination from F initeP aths(s0 j=
) that their probability mass exceeds the bound
p. Among all these probabilistic counterexamples,
we are interested by the most indicative one.
The most indicative counterexample is minimal
counterexample (has the least number of paths
from F initeP aths(s0 j= )) and its probability
mass is the highest among all other minimal
counterexamples. We denote the most indicative
probabilistic counterexample by M IP CX(s0 j= ).
We should note that the most indicative probabilistic
counterexample may not be unique.</p>
      <p>For the counterexample to have high probability, it
should consist of paths that carry high probabilities
from F initeP aths(s0 j= ). The path having the
highest probability over all these paths is called
strongest path and is defined as follows: for every
path 0 2 F initeP aths(s0 j= ) : P ( ) P ( 0). The
strongest path also may not be unique.</p>
      <p>Lemma 2.1 A most indicative probabilistic
counterexample M IP CX(s0 j= ) contains at least one
strongest path 2 F initeP aths(s0 j= ).</p>
      <p>Lemma 2.2 For every path
on which the property 1U 2
2 M IP CX(s0 j=
)
( 1U n 2) is satisfied, the right state sub-formula
( 2) is satisfied in the last state of .</p>
      <p>Example 1 Let us consider the example of DTMC
shown in Figure 1 and the property P 0:7('),
where ' = (a _ b)U (c ^ d). The property above
is violated in this model (s0j 6j= P 0:7(')), since
there exists a set of paths satisfying ' whose
probability mass is higher than the probability bound
(0.7). Any combination from F initeP aths(s0 j=
) having probability mass higher than 0.7, is a
valid counterexample including the whole set. For
instance, we can find three counterexamples:
F initeP aths(s0 j= ) =
fs0s2s3; s0s1s4; s0s2s4; s0s1s3; s0s2s1s4; s0s1s2s3;
s0s2s1s3; s0s1s2s4g
Any combination of finite paths from
F initeP aths(s0 j= ) having probability mass higher
than 0.7, is a valid probabilistic counterexample
including the whole set. We can find three
counterexamples:
P (CX1) = P (fs0s2s3; s0s1s4; s0s2s4; s0s1s3;
s0s2s1s4; s0s1s2s3; s0s2s1s3; s0s1s2s4g)
= 0:24 + 0:16 + 0:12 + 0:09 + 0:072 + 0:064 + 0:036 +
0:032 = 0:804
The last probabilistic counterexample is the most
indicative since it is minimal and its probability
is higher than the other minimal counterexample
CX2,P (CX3) &gt; P (CX2).The strongest path is
P (s0s2s3) = 0:24, which is included in the most
indicative probabilistic counterexample.</p>
    </sec>
    <sec id="sec-5">
      <title>2.3. Causality Background</title>
      <p>
        Halpern and Pearl (
        <xref ref-type="bibr" rid="ref17">Halpern and Pearl (2001)</xref>
        ) have
extended the Lewis counterfactual model (
        <xref ref-type="bibr" rid="ref28">Lewis
(1973)</xref>
        ) to what they refer to as structural equations
for modelling the causal influence made by random
variables. They introduce the causality model M as
a tuple M = (U; V; F ), where random variables are
partitioned into two sets, the exogenous variables U,
whose values are determined by factors outside the
model M, but they should be represented to encode
the context, and the endogenous variables V whose
values are determined by set of functions F , where
each fVi 2 F is a mapping from U [ (V n Vi) to
Vi. Thus, each fVi tells us the value of Vi given the
values of all other variables in U [ V .
      </p>
      <p>We call a Boolean combination of primitive events a
basic causal formula. We call a Boolean combination
of basic causal formulas a causal formula. A causal
formula ' is true or false in causal model, given a
context. We write (M; !u ) j= ' if ' is true in causality
model M given a context !u , where !u represents
a setting for the variables in U. We write (M; !u ) j=
[!Y !y](X = x), where !Y V , if X has a value
x in M given a context !u and the assignment !y to
!Y. The formulas that are allowed to be causes for '
are ones of the form X1 = x1 ^ ::: ^ Xk = xk which
is abbreviated to the form !X = !x . With all these
definitions in hand, we can now give the definition of
an actual cause by Halpern and Pearl.</p>
      <p>Definition 2.1 (Actual Cause) we say that !X = !x
is an actual cause of ' in (M; !u ) if the following
holds:
1. (M; !u ) j= (!X = !x ) ^ '
2. There exists a partition ( !Z; W!) of V with
!X !Z and some setting (!x 0; !w0) of the
variables in (!X; W!) such that if
(M; !u ) j= Z = z for Z 2 !Z, then
a-(M; !u ) j= h!X !x 0; W! !w0i ^ :'
b(M; !u ) j= h!X
for all subsets !Z0 of !Z.</p>
      <p>!x ; W!</p>
      <p>!i
!w0; !Z0 z ^ '
3. The set of variables !X is minimal (no subset
of !X satisfies the conditions 1 and 2).</p>
      <p>
        The first condition states that both !X = !x and ' are
true in the current context, given the variables !X and
their values !x . The second condition states that any
change on (!X; W!) will change ' from true to false,
changing W! will have no effect on ' as long as the
values of !X are kept at the current values, even if
all subsets !Z0 of !Z are set to their original values
in the current context. Minimality condition ensures
that only elements in the conjunction !X = !x are
essential for changing ' from true to false. As a
consequence of this condition, we can refer to a
cause as X = x, because the causes can always be
taken to be single conjuncts (
        <xref ref-type="bibr" rid="ref10">Chockler and Halpern
(2004)</xref>
        ).
      </p>
    </sec>
    <sec id="sec-6">
      <title>2.4. Regression Analysis</title>
      <p>Regression analysis is a statistical technique
enables us to reason about the relationship between
variables. It describes the change in value of
a variable Y , namely dependent or endogenous
in response to the variation of a variable X
namely independent or exogenous. The relationship
between these variables is either positive or
negative. If the value of Y increases when the
value of X rises, it is said that the relationship
is positive. Conversely, the relationship is said to
be negative. One of the relationships that we can
infer and statistically reason about using regression
analysis is causality. The causal model is build
based on assumptions or hypothesis, and then is
tested against statistical data to determine how the
specified model fits the data. So when it comes to
causal relationships, we can use regression analysis
to estimate the causal effect instead of exploring
the causal relationships. The causal relationship
between dependent variable Y and independent
variable X with the consideration of factors noise
called disturbance term or error term and denoted
" is given by the linear equation</p>
      <p>Y = X + "
(1)
Where X stands as a cause for Y , stands as a
coefficient or weight that quantifies the direct causal
effect of X on Y . " is an error term stands for
all extraneous variables, which are assumed to be
uncorrelated with X. Whereas the variables X and
Y are perfectly known, the objective behind using
regression analysis is to produce an estimate of the
two parameters and ".</p>
    </sec>
    <sec id="sec-7">
      <title>3. CAUSES IN PROBABILISTIC</title>
    </sec>
    <sec id="sec-8">
      <title>COUNTEREXAMPLES</title>
      <p>For probabilistic properties of the form = P6p(')
, explaining the violation reduces to the explanation
of exceeding the probability bound over the DTMC
model. Therefore, the question:what labelling and/or
probability values in the counterexample causes the
system to falsify a specification, reduces to the
question: what labelling and/or probability values
in the counterexample causes the exceeding of
probability bound over the model.</p>
    </sec>
    <sec id="sec-9">
      <title>3.1. Causality Model</title>
      <p>A causality model for the most indicative
probabilistic counterexample M IP CX(s0 j= ) is a
tuple M = (U; V; F ), where the set U is represented
by a context variable; its value u represents a state
s 2M IP CX(s0 j= ). V is a set of atomic
propositions and Boolean formulas. F associates
with every variable Vi 2 V a truth function fVi that
determines the value of Vi (0 or 1), given a state s
and the values of other variables in V .</p>
      <p>For example, fp^r(s; p = 1; r = 1) = 1 where p and r
are atomic propositions, and s is state representing
a context. The causal influence is modelled by the
transitions in M IP CX(s0 j= ).</p>
      <p>Let us denote by M IP CX(s\;Xx0)(s0 j= ) the set
of finite paths resulted from M IP CX(s0 j= ) by
switching the value of a variable X 2 V in a state
s.</p>
    </sec>
    <sec id="sec-10">
      <title>Definition 3.2 (Criticality) Consider a</title>
      <p>counterexample M IP CX(s0 j= ) for a probabilistic
formula = P p('), a state s 2 M IP CX(s0 j= )
and a variable X 2 V has a value x 2 f0; 1g in s.
We say that (X = x) is critical for the violation of
= P p(') in s, if M IP CX(s\;Xx0)(s0 j= ) is not a
valid counterexample for = P p(').</p>
      <p>That is, for the probabilistic counterexample
M IP CX(s0 j= ), we say that the value of a
variable X is critical for the violation of = P p(')
in a state s, if changing the value of X in this state
renders the result not a counterexample.</p>
      <p>Definition 3.3. (Actual Cause) Consider a
counterexample M IP CX(s0 j= ) for a probabilistic
formula = P p(') and a variable X 2 V . We say
that (X = x) is a cause for the violation of
= P p(') in s, if (X = x) is critical , or there exists
a subset of variables W!of V in s such that switching
the values !w of W in s makes (X = x) critical.
Thus, in our setting, we can refer to a cause as
(X = x) where X is an atomic proposition has the
value 1 in s if X 2 L(s), and it has the value 0
otherwise. (X = x) is said to be cause in state s,
if it is critical, or it can be made critical by switching
the values of set of variables W in s.</p>
      <p>Definition 3.4. A Diagnostic causality model for
M IP CX(s0 j= ) is a tuple hM; CC i, where M is
a causality model, and CC is a contribution
function that assigns to each cause its contribution
to the satisfaction of ' with respect to a path
2 M IP CX(s0 j= ) as follows</p>
      <p>(2)</p>
      <p>X
s2 jfX (s)=x
That is, with respect to each path 2 M IP CX(s0 j=
), we have associated to each cause a measure
that represents the sum of probabilities of reaching
the states in which X = x. We can say that X = x is
a cause for the satisfaction of ' with respect to a path
with a contribution CC . So, the cause having the
highest contribution will be the one found the most
along the path.</p>
      <p>Example. Consider the most indicative
counterexample</p>
      <p>CX3 =
fs0s2s3; s0s1s4; s0s2s4; s0s1s3; s0s2s1s4; s0s1s2s3g
generated from the DTMC presented in Fig1 against
the property P 0:7('), where ' = (a _ b)U (c ^ d). It is
possible to define a causality model for CX3, where
u 2 fs0; s1; s2; s3; s4; s5g, and F can be defined over
the variables in V as follows</p>
      <p>fa(s1) = 1
fc^d(s1; c = 0; d = 0) = 0</p>
      <p>...</p>
      <p>For instance, it is clear that in s2, the actual cause
for the satisfaction of ' = (a _ b)U (c ^ d) is b = 1.
The probability of the actual cause b = 1 in the path
2 = s0s2s3 is CC 2 (b = 1) = 0:6.</p>
    </sec>
    <sec id="sec-11">
      <title>3.2. Model Analysis</title>
      <p>We aim now quantify the effect of a cause X =
x on the violation of . To do so, we use the
regression analysis as a comprehensive technique
for estimating this effect, where the path formula
' will stand as a dependent variable, whereas the
formula of the form X = x will stand as an
independent variable. So, the regression model will
describe the behaviour of the system by analysing
the change of the probability of ' satisfaction with
respect to variables that are considered to be
causes.</p>
      <p>While the variables are now well defined, the
remaining task is to generate the data required for
estimating the structural parameters. With respect to
the definition of diagnostic causality model, we have
seen that each cause X = x has a contribution
CC (X = x) with respect to each path 2
M IP CX(s0 j= ). So in our setting, P ( ) will stand
for the value of ' and CC (X = x) will stand for the
value of X = x . As a result, the number of data rows
will be exactly the number of finite paths forming
the M IP CX(s0 j= ). We present an algorithm for
generating the causes and their contributions, hence
constructing the data set.</p>
      <p>
        This algorithm performs on counterexample
generated by the tool DiPro (
        <xref ref-type="bibr" rid="ref5">Aljazzar and Leue (2011)</xref>
        ),
since probabilistic model checkers do not have
the ability to generate counterexamples. DiPro is
a tool used for generating counterexamples from
DTMC, CTMC and MDPs models, and can be
jointly used with the model checkers PRISM and
MRMC. The algorithm gets from DiPro tool the
counterexample M IP CX(s0 j= ) and the
probabilistic formula = P6p(') as input, and outputs
the dataset. The formula ' is until formula of the
form 1U 2( 1U n 2)given in NNF (Negative
Normal Form).
      </p>
    </sec>
    <sec id="sec-12">
      <title>Algorithm. ComputeDataset</title>
      <p>Inputs: The probabilistic formula = P p(')</p>
      <p>The counterexample M IP CX(s0 j= )
Outputs: DataSet: Variables (causes) with values (CC )
begin</p>
      <p>Causes := ?
for each path 2 M IP CX(s0 j= ) do
for each state s 2 do
if s is the last state in then</p>
      <p>Causes := findCauses(s; 2)</p>
      <p>CC (Causes) = Ps2 jfX (s)=x P (s)
end if
else</p>
      <p>Causes := findCauses(s; 1)</p>
      <p>CC (Causes) = Ps2 jfX (s)=x P (s)
end else
end for
end for
end ComputeDataset
function findCauses(s, )
begin
if
is of the form 1 ^ 2 then
return findCauses(s, 1) [ findCauses(s, 2)
end if
If is of the form 1 _ 2 Then</p>
      <p>If s j= 1 and s j= 2 Then</p>
      <p>return FindCauses(s, 1) [ FindCauses(s, 2)
End If
If s j= 1 and s 6j= 2</p>
      <p>return FindCauses(s, 1)
End If
If s 6j= 1 and s j= 2</p>
      <p>return FindCauses(s, 2)</p>
      <p>End If
End If
if is of the form a where a 2 AP and a 2 L(s) then
return a
end if
if is of the form :a where a 2 AP and a 2= L(s) then
return:a
end if
end findCauses
The algorithm explores the counterexample path by
path, and computes the causes that will act as
data variables, and computes their probabilities that
will act as data values. We notice that these two
tasks are performed simultaneously. We compute
CC (X = x) of each cause X = x found in set
of states. The condition put on last state follows
Lemma 2.3. The main function of this algorithm is
FindCauses. It takes a state and state formula as
input and returns recursively a set of causes. We
note that when the state formula is of the form
1 ^ 2, both sub-formulas are essentially true at
state s. But When is of the form 1 _ 2, one
of them could be true at s or both of them. This
actually follows the causal intuition that in conjunctive
scenario, both 1and 2 are required for being
satisfied, whereas in the disjunctive scenario, either
1 or 2 suffices to make satisfied. In the two
cases, we apply FindCauses to each sub-formula.
Finally, at the propositional level, the cause would
be a(a = 1) or :a(a = 0), and it is allowed to be
a conjunction of primitive formulas.</p>
      <p>
        The Algorithm over-approximates the set of causes
, since computing the set of causes exactly in
binary causal models is NP-complete (
        <xref ref-type="bibr" rid="ref14">Eiter and
Lukasiewicz (2002)</xref>
        ). In (
        <xref ref-type="bibr" rid="ref9">Beer et al. (2011)</xref>
        ), the
authors introduced a polynomial algorithm that
approximates the set of causes for the violation
of LTL formula. The reduction from binary causal
models to Boolean circuits and from Boolean circuits
to model checking as introduced in (
        <xref ref-type="bibr" rid="ref11">Chockler et al.
(2007)</xref>
        ) proved that computing the causes and the
degree of responsibility for branching time formula is
also NP-complete, and they provided a polynomial
algorithm for computing responsibility for read-once
Boolean formulas.
      </p>
      <p>
        It is evident that the complexity of this algorithm is
polynomial in size of M IP CX(s0 j= ) and the size
of '. This follows from the fact that the left
subformula 1 is evaluated in each state except the last
ones, in which the right sub-formula 2 is evaluated,
this is much less hard than evaluating both
subformulas at each state of the counterexample (
        <xref ref-type="bibr" rid="ref9">Beer
et al. (2011)</xref>
        ). Moreover, if the sub-formula is
AND formula, it is not necessary to be evaluated,
since its satisfaction is ensured. Once the causes
found in state s, computing the causes probability is
performed each time at a state s with respect to each
path.
      </p>
    </sec>
    <sec id="sec-13">
      <title>3.3. Illustrative Example</title>
      <p>We modelled the DTMC presented before in Fig.1
in PRISM. Then we generate most indicative
counterexample using DiPro for the property
P 0:7('). The counterexample generated is CX3
where
We pass the counterexample to be analyzed to our
algorithm, which is implemented in Java. It takes
the counterexample generated by DiPro in XML
format and returns the dataset. The set of causes as
can be generated for this counterexample using our
algorithm is as follows:C1 = a; C2 = b; C3 = fc; dg
These causes denoted Ci stand as independent
variables (X) for the regression model we are going
to build, where the until formula ' denoted UF stands
for the dependent variable (Y). The data values
of these observed variables are given in the table
bellow</p>
      <p>UF
0.24
0.16
0.12
0.08
0.072
0.064</p>
      <p>C1
1
1.04
1
1.04
1.03
1.04</p>
      <p>C2
As we see in the table, the number of data rows
represents the number of paths of M IP CX(s0 j= ),
where the value of until formula UF refers to the
probability of each path P ( ) and the value of cause
refers to CC (X = x) .</p>
    </sec>
    <sec id="sec-14">
      <title>4. EXPERIMENTAL RESULTS</title>
      <p>
        We have implemented the above method in Java.
To evaluate our method, we use two benchmark
case studies, the embedded control systems taken
from (
        <xref ref-type="bibr" rid="ref29">Muppala et al. (1994)</xref>
        ) and the cyclic polling
model taken from (
        <xref ref-type="bibr" rid="ref21">Ib and Trivedi (1990)</xref>
        ). All the
experiments were carried out on windows XP with
Intel Pentium CPU 3.2 GHz speed And 512 mb of
memory.
      </p>
    </sec>
    <sec id="sec-15">
      <title>4.1. Embedded Control System</title>
      <p>The system consists of input processor (I) that reads
incoming data from three sensors (s1,s2,s3) and
then passes it to main processor (M). The processor
M processes the data and sends instructions to an
output processor (O) that controls two actuators (A1
and A2) using these instructions.Any of the system’s
components M, I/O, the sensors and the actuators
may fail; as a result the system is shut down. The
types of failure are:
f ail sensors = (i = 2 ^ s &lt; M IN SEN SORS)
f ail actuators = (o = 2^a &lt; M IN ACT U AT ORS)
f ail io = (count = M AX COU N T + 1)
f ail main = (m = 0)
We use the variable M ax Count to refer to the
maximum number of consecutive cycles skipped
allowed. Thus, the I/O processor will fail if the count
exceeds the limit M ax Count. The down status of
the system is labelled as:</p>
      <p>down =
f ail sensorsjf ail actuatorsjf ail iojf ail main
That is, the systems is down if any of this failures
occurs. For this model, we choose the property that
estimates the probability of I/O failure occurring first,
which is given as follows:</p>
      <p>P =?[:(down)U f ail io]
We test this property using PRISM for
(M ax Count = 6). For this value, PRISM renders
a probability equal to 0.11. We chose the value
0.1 as a threshold for this property to generate the
counterexample. Thus the property can be rewritten
as follows:</p>
      <p>P</p>
      <p>0:1[:(down)U f ail io]
We use DiPro to generate the counterexample,
which in turn uses PRISM. The counterexample
can be rendered graphically and stored in XML
format. The tool implements many algorithms. In
our experiments, we used the heuristic search
algorithm XBF that computes the counterexample
as a diagnostic sub-graph. Our method takes the
counterexample generated from DiPro in XML format
and the property to be verified , and outputs the
causes and their values as a dataset in Excel file.
This excel file is passed to the tool AMOS in order
to generate the regression model. AMOS is
wellknown software for SEM that enables user to specify,
confirm and refine models, by incorporating many
statistical methods.
The PRISM model consists of 6858 states and
28907 transitions. For generating the
counterexample, DiPro Explored 480 traces in about 5 minutes
resulting in 1685 vertices and 3291 edges. Finally,
the counterexample rendered consists just of 33
diagnostic paths. It is evident that the number of
explored vertices and explored edges while searching
the counterexample is always less than the number
of states and the transitions of the model. It is also
evident that the number of diagnostic paths is less
than the number of solution traces. While solution
traces refer to all the paths of the diagnostic
subgraph found through exploring the model, diagnostic
paths refer just to the paths forming the
counterexample.</p>
      <p>We pass this counterexample to our algorithm for
generating the dataset of causes. The causes will
be the basic sub-formulas causing the satisfaction
of :(down)U f ail io . For the right sub-formula,
the cause generated is C0 = (count =
M AX COU N T + 1). For the left sub-formula, the
set of causes is
C1 = :(i = 2), C2 = :(s &lt; M IN SEN SORS)
C3 = :(o = 2), C4 = :(a &lt; M IN ACT U AT ORS)
C5 = :(count = M AX COU N T + 1)
C6 = :(m = 0)
After generating these causes with their probabilities
with respect to each path as a dataset, we found
the following results: along all paths (data rows),
C0 has the same probability. C2, C5 and C6 have
exactly equivalent probabilities with respect to each
path (data row). This means that they always occur
together. As a result, before passing the data set
to AMOS tool, C0 will be ignored since its value
is constant along all paths.C2, C5 and C6 will be
regrouped into one variable named (C2), since they
share the same values. Thus, the final data set
will consist of the causes C1, C2, C3, C4 and the
‘until‘ formula ' denoted UF. For estimating the
causal effect of each cause on UF, we generate
the regression model based on this data set using
AMOS. The results as rendered by AMOS tool are
presented in Fig.3.
What concerns us more, is how to get the
diagnostic information by interpreting these weights
or coefficients. We should recall that C1(input
processor is not in OK state),C2(all sensors are
working) are the probable causes for not sensor
failure occurring, whereas C3(output processor is not
in OK state),C4 (all actuators are working) are the
causes for not actuators failure occurring. Here we
are facing a disjunctive scenario for both failures.
In fact, the weights presented above have more
importance when we face a disjunctive scenario
( 1 _ 2), because the designer will need to know
which sub-formula is more responsible for the
satisfaction of ' along the paths.</p>
      <p>The results as generated by AMOS tool shows
that C4 has the highest effect where C2 has more
effect than C1 and C4 has more effect than C3.
Performing a fast check on the dataset generated,
these explanations are confirmed, which means that
along all the paths, C2 and C4 are usually the actual
causes not C1 and C3, with great notable presence
for C4 comparing to C2.</p>
      <p>Taking just M IP CX(s0 j= ) to be the causality
model instead of the whole model is due first to the
nature of M IP CX(s0 j= ) itself; M IP CX(s0 j= )
by definition covers the most probable causes for
the error, since it is consisting of paths with high
probabilities. Second, lowest probability values will
have no effect on the regression model generated
since they tend to be zero. We tested this issue, by
generating a counterexample for the property P =
?[:(down)U f ail io].</p>
      <p>That is, the counterexample will consist of all paths
satisfying :(down)U f ail io, not just the paths with
high probabilities. The counterexample generated
consists of 132 paths, DipRo takes more than 30
minutes for computing this counterexample. Adding
the new paths (99 paths) to the old data set and
analysing it using AMOS did not bring considerable
change to the previous regression model generated
depicted in Fig.3.</p>
    </sec>
    <sec id="sec-16">
      <title>4.2. Polling Server System</title>
      <p>The system is modelled in PRISM as a CTMC, where
the number of stations handled by the polling server
is denoted by N. Each station has a single-message
buffer and is cyclically attended by the server. We
choose the property that measures the probability of
station 1 being served (s=1) before station 2 (s=2)
where (a=1) denotes serving. This property is given
as follows:</p>
      <p>P =?[!(s = 2 ^ a = 1)U (s = 1 ^ a = 1)]
We test this property using PRISM for (N=3, N=5,
N=7 and N=9). For all of these values, PRISM
renders a probability higher than 0.5. As a result, we
chose the value 0.5 as a threshold. The property can
be rewritten as follows:</p>
      <p>P</p>
      <p>0:5[(!(s = 2)_!(a = 1))U (s = 1 ^ a = 1)]
We use DiPro to generate the counterexample,
which in turn uses PRISM. We have to specify the
model and the property to be verified, and then
DiPro computes the counterexample for violating the
probability threshold. We used the heuristic search
algorithm XBF that computes the counterexample
as a diagnostic sub-graph. Our method takes the
counterexample generated from DiPro and the
property to be verified as parameters, and outputs
the dataset.</p>
      <p>The PRISM model consists of 1344 states and
5824 transitions. For generating the counterexample,
DiPro Explored 184 traces in about 5 minutes
resulting in 1094 vertices and 3310 edges. Finally,
the counterexample rendered consists just of 18
diagnostic paths. It is evident that the number
of explored vertices and explored edges while
searching the counterexample is always less than
the number of states and the transitions of the model.
We pass this counterexample to our algorithm for
generating the dataset of causes. The causes will
be the basic sub-formulas causing the satisfaction
of (!(s = 2)_!(a = 1))U (s = 1 ^ a = 1) . For the
right sub-formula, the cause generated is C0 = (s =
1 ^ a = 1). For the left sub-formula, the set of causes
is C1 =!(a = 1) and C2 =!(s = 2).</p>
      <p>After generating these causes with their contribution
with respect to each path as a dataset, we found that
C0 has the same probability along all paths (data
rows). thus before passing the data set to AMOS
tool, C0 will be ignored since its value is constant
along all paths. The effect of C1 and C2 on U F
is as generated by AMOS is given by the following
equation:</p>
      <p>U F =
(0:304)C1 + (0:464)C2
(3)
The results as rendered by AMOS shows that C2
has higher effect than C1, where the effect of C1
is negative. This means that the effect of C1 on
U F increases once the paths probabilities get lower,
which means that the presence of C1 increases just
with in the paths with low probabilities.</p>
    </sec>
    <sec id="sec-17">
      <title>5. RELATED WORKS</title>
      <p>
        Various approaches for probabilistic
counterexample generation have been proposed. The authors
(
        <xref ref-type="bibr" rid="ref1">Aljazzar et al (2005</xref>
        ),
        <xref ref-type="bibr" rid="ref2">Aljazzar and Leue (2006)</xref>
        introduced an approach for counterexample
generation for DTMC and CTMC against timed
reachability properties using heuristics guided and directed
explicit state space search. In complementary work
(
        <xref ref-type="bibr" rid="ref3">Aljazzar and Leue (2009)</xref>
        ), with the intuition that
single scheduler makes an MDP as DTMC, they
proposed an approach for counterexample
generation for MDPs using existing methods for DTMC.
They introduced more complete work in (
        <xref ref-type="bibr" rid="ref4">Aljazzar
and Leue (2010)</xref>
        ) for generating counterexample as
what they refer to as diagnostic sub-graphs. Based
on all the previous works, they built a tool, DiPro
(
        <xref ref-type="bibr" rid="ref5">Aljazzar and Leue (2011)</xref>
        ), for generating
counterexamples for DTMC, CTMC and MDPs. Similar
to the previous works, (
        <xref ref-type="bibr" rid="ref18">Han et al. (2009)</xref>
        ) has
proposed the notion of smallest most indicative
counterexample that reduces to the problem of finding
K shortest paths. Instead of generating path-based
counterexamples, the authors in (
        <xref ref-type="bibr" rid="ref31 ref32">Wimmer et al.
(2012)</xref>
        ) have proposed a novel approach based on
critical subsystems. Following this work, the authors
in (
        <xref ref-type="bibr" rid="ref22">Jansen et al. (2012)</xref>
        ) proposed the COMICS tool
for generating the critical subsystems that induce
the counterexamples. Instead of relying on the state
space search resulted from the parallel composition
of the modules, (
        <xref ref-type="bibr" rid="ref32">Wimmer et al. (2013)</xref>
        ) suggests
to rely directly on the guarded command language
used by the model checker, which is more likely and
helpful for debugging purpose.
      </p>
      <p>
        In conventional model checking, many works have
proposed techniques and algorithms for discovering
error causes from counterexamples, hence
presenting them to the user in a comprehensive way. Most
of these works (
        <xref ref-type="bibr" rid="ref8">Ball et al. (2003)</xref>
        ,
        <xref ref-type="bibr" rid="ref34">Zeller et al. (2002)</xref>
        ,
        <xref ref-type="bibr" rid="ref15">Groce et al. (2003)</xref>
        ,
        <xref ref-type="bibr" rid="ref16">Groce et al. (2006)</xref>
        ) consider
the existence of successful runs or executions to be
compared with the error trace, with the assumption
that the more successful execution closed to the
error trace indicates the causes of the error. Based
on Lewis counterfactual theory of causality (
        <xref ref-type="bibr" rid="ref28">Lewis
(1973)</xref>
        ) and distance metrics, the authors in (
        <xref ref-type="bibr" rid="ref16">Groce
et al. (2006)</xref>
        ) have proposed semi-automated
approach for isolating errors in ANSI C programs by
considering the alternative worlds as programs
executions and the events as propositions about those
executions. Unlike the previous works that require
multiple executions, the work (
        <xref ref-type="bibr" rid="ref30">Wang et al. (2006)</xref>
        )
introduced a technique performed on a single
concrete execution path using a weakest pre condition
algorithm. While all of these works addressed safety
properties, some of works attended to explain errors
for liveness properties that involve more
computational complexity (
        <xref ref-type="bibr" rid="ref24">Kumazawa and Tamai (2011)</xref>
        ).
In recent work, (
        <xref ref-type="bibr" rid="ref12 ref13">Debbi and Bourahla (2013)</xref>
        )used
the definition of causality and its quantitative
measure responsibility for analysing probabilistic
counterexamples of DTMCs and CTMCs. The
causes are given as pairs (state, variable) and
ordered with respect to such weights. Another
closely related to our work that of (
        <xref ref-type="bibr" rid="ref9">Beer et al. (2011)</xref>
        ,
        <xref ref-type="bibr" rid="ref11">Chockler et al. (2007)</xref>
        ). They used the definition
of causality for explaining LTL counterexamples in
(
        <xref ref-type="bibr" rid="ref9">Beer et al. (2011)</xref>
        ). Unlike addressing the question
in (
        <xref ref-type="bibr" rid="ref9">Beer et al. (2011)</xref>
        ), what causes a system to
falsify a specification? In the context of coverage
(
        <xref ref-type="bibr" rid="ref11">Chockler et al. (2007)</xref>
        ), the question addressed
was: what causes a system to satisfy specification?
In this aim, they adapt the definition of causality and
its quantitative measure, responsibility (
        <xref ref-type="bibr" rid="ref10">Chockler and
Halpern (2004)</xref>
        ). The definition of causality has also
been used by (
        <xref ref-type="bibr" rid="ref25">Kuntz et al. (2011)</xref>
        ;
        <xref ref-type="bibr" rid="ref26 ref27">Leitner-Fischer
and Leue (2013)</xref>
        ). They adapted the definition
of causality to event orders for generating fault
trees from probabilistic counterexamples. In
(LeitnerFischer and Leue (2013)) they proposed the notion
of causality checking by integrating the causality
computation in the model checking algorithm itself
.
      </p>
    </sec>
    <sec id="sec-18">
      <title>6. CONCLUSION AND FUTURE WORKS</title>
      <p>In this paper, we have shown how the notion of
causality can be interpreted in the context of
probabilistic counterexamples. Due to the quantitative
nature of the causal model, we had to define for each
cause its contribution to the error. Following that, we
generate the regression model corresponding to the
causality model. For doing so, we have proposed
an algorithm for generating the causes as a data
set. We have seen that delivering the causes for
the violation of PCTL formula as a regression model
stands as a good technique for describing the effect
of variables with their values on the error.</p>
      <p>Evidently, our approach does not ignore the previous
works of counterexample generation. But instead, it
acts as a complementary task.</p>
      <p>As future works, We aim to show how our method
can perform on counterexamples generated from
MDPs models. Furthermore, we plan to investigate
the problem of incomplete data, which is well known
problem in regression, as well as the problem of
linear dependence between variables in the context
of probabilistic counterexamples.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Aljazzar</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hermanns</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leue</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2005</year>
          )
          <article-title>Counterexamples for timed probabilistic reachability</article-title>
          ,
          <source>In: FORMATS 05. LNCS</source>
          vol.
          <volume>3829</volume>
          , pp.
          <fpage>177</fpage>
          -
          <lpage>195</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Aljazzar</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leue</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2006</year>
          )
          <article-title>Extended directed search for probabilistic timed reachability</article-title>
          .
          <source>in FORMATS 06</source>
          , LNCS vol.
          <volume>4202</volume>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Aljazzar</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Leue</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2009</year>
          )
          <article-title>Generation of counterexamples for model checking of markov decision processes</article-title>
          ,
          <source>In: Proc. of International Conference on Quantitative Evaluation of Systems</source>
          , pp.
          <fpage>197</fpage>
          -
          <lpage>206</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Aljazzar</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Leue</surname>
            ,
            <given-names>S</given-names>
          </string-name>
          (
          <year>2010</year>
          )
          <article-title>Directed explicit state-space search in the generation of counterexamples for stochastic model checking</article-title>
          .
          <source>IEEE Trans. on Software Engineering</source>
          vol.
          <volume>36</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>37</fpage>
          -
          <lpage>60</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Aljazzar</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Leue</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2011</year>
          )
          <article-title>DiPro - A Tool f or Probabilistic Counterexample Generation</article-title>
          ,
          <source>LNCS 6823</source>
          , pp.
          <fpage>183</fpage>
          -
          <lpage>187</lpage>
          . Aviable at http://www.inf. uni-konstanz.de/soft/dipro/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Aziz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sanwal</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Singhal</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brayton</surname>
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2000</year>
          )
          <article-title>Model-checking continuous-time Markov chains</article-title>
          .
          <source>ACM Trans on Computational Logic</source>
          . vol.
          <volume>1</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>162</fpage>
          -
          <lpage>170</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Baier</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haverkort</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hermanns</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katoen</surname>
            <given-names>J.-P.</given-names>
          </string-name>
          (
          <year>2003</year>
          )
          <article-title>Model checking algorithms for continuous-time Markov chains</article-title>
          .
          <source>IEEE Trans on Software Engineering</source>
          , vol.
          <volume>29</volume>
          , no. 7.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Ball</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Naik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rajamani</surname>
            ,
            <given-names>S.K.</given-names>
          </string-name>
          (
          <year>2003</year>
          )
          <article-title>From symptom to cause: localizing errors in counterexample traces</article-title>
          ,
          <source>In: POPL</source>
          <year>2003</year>
          , pp.
          <fpage>97</fpage>
          -
          <lpage>105</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Beer</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , BenDavid, S., et al. (
          <year>2011</year>
          )
          <article-title>Explaining counterexamples using causality</article-title>
          .
          <source>Formal Methods Systems</source>
          Design vol.
          <volume>40</volume>
          , pp.
          <fpage>20</fpage>
          -
          <lpage>40</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Chockler</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halpern</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>2004</year>
          )
          <article-title>Responsibility and blame: a structural-model approach</article-title>
          ,
          <source>Journal of Artificial Intelligence Research (JAIR)</source>
          vol.
          <volume>22</volume>
          , pp.
          <fpage>93</fpage>
          -
          <lpage>115</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Chockler</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halpern</surname>
            ,
            <given-names>J. Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kupferman</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          (
          <year>2007</year>
          )
          <article-title>What causes a system to satisfy a specification?</article-title>
          .
          <source>ACM Trans. on Computational Logic</source>
          Vol.
          <volume>5</volume>
          , no.
          <issue>5</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Debbi</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Bourahla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2013</year>
          )
          <article-title>Causal Analysis of Probabilistic Counterexamples</article-title>
          ,
          <source>in Proceedings of Eleventh ACM-IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)</source>
          ,pp .
          <fpage>77</fpage>
          -
          <lpage>86</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Debbi</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Bourahla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2013</year>
          )
          <article-title>Generating diagnoses for probabilistic model checking using causality</article-title>
          ,
          <source>Journal of Computing and Information</source>
          Technology vol.
          <volume>21</volume>
          , no 1 pp .
          <fpage>13</fpage>
          -
          <lpage>23</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lukasiewicz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          (
          <year>2002</year>
          )
          <article-title>Complexity results for structure-based causality</article-title>
          .
          <source>Artificial Intelligence</source>
          , vol.
          <volume>142</volume>
          , pp.
          <fpage>53</fpage>
          -
          <lpage>89</lpage>
          , Elsevier.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Groce</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Visser</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>What went wrong(2003) explaining counterexamples</article-title>
          . In: Ball,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Rajamani</surname>
          </string-name>
          , S.K. (eds.) SPIN, LNCS, vol.
          <volume>2648</volume>
          , pp.
          <fpage>121</fpage>
          -
          <lpage>135</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Groce</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chaki</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kroening</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strichman</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          (
          <year>2006</year>
          )
          <article-title>Error explanation with distance metrics</article-title>
          .
          <source>STTT</source>
          vol.
          <volume>8</volume>
          , no 3, pp.
          <fpage>229</fpage>
          -
          <lpage>247</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Halpern</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pearl</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Causes and explanations (</article-title>
          <year>2001</year>
          )
          <article-title>A structural-model approach part I: Causes</article-title>
          .
          <source>In: Proc. of 17th UAI</source>
          , pp.
          <fpage>194</fpage>
          -
          <lpage>202</lpage>
          . Morgan Kaufman Publishers.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Han</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katoen</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          (
          <year>2009</year>
          )
          <article-title>Counterexamples Generation in probabilistic model checking</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>35</volume>
          (
          <issue>2</issue>
          ).pp.
          <fpage>72</fpage>
          -
          <lpage>86</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Hansson</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jonsson</surname>
            <given-names>B.</given-names>
          </string-name>
          (
          <year>1994</year>
          )
          <article-title>logic for reasoning about time and reliability</article-title>
          .
          <source>Formal aspects of Computing</source>
          , vol.
          <volume>6</volume>
          , no.
          <issue>5</issue>
          , pp.
          <fpage>512</fpage>
          -
          <lpage>535</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <given-names>Hinton A.</given-names>
            ,
            <surname>Kwiatkowska</surname>
          </string-name>
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Norman</surname>
          </string-name>
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Parker</surname>
          </string-name>
          <string-name>
            <surname>D.: PRISM</surname>
          </string-name>
          (
          <year>2006</year>
          )
          <article-title>A tool for automatic verifi-cation of probabilistic systems</article-title>
          .
          <source>In Proc. 12th International Conference on Tool s and Algo-rithms for the Construction and Analysis of Systems (TACAS 06). LNCS</source>
          , vol.
          <volume>3920</volume>
          , pp.
          <fpage>441</fpage>
          -
          <lpage>444</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Ib</surname>
            ,
            <given-names>O. C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Trivedi</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          (
          <year>1990</year>
          )
          <article-title>Stochastic petri net models of polling systems</article-title>
          ,
          <source>IEEE Journal on Selected Areas in Communications</source>
          , vol.
          <volume>8</volume>
          , no.
          <issue>9</issue>
          , pp.
          <fpage>1649</fpage>
          -
          <lpage>1657</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <given-names>Jansen N.</given-names>
            ,
            <surname>Abraham</surname>
          </string-name>
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Volk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Wilmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Katoen</surname>
          </string-name>
          <string-name>
            <given-names>J.P</given-names>
            and
            <surname>Becker</surname>
          </string-name>
          <string-name>
            <surname>B.</surname>
          </string-name>
          (
          <year>2012</year>
          )
          <article-title>The COMICS Tool - Computing Minimal Counterexamples for DTMCs</article-title>
          ,
          <string-name>
            <surname>in</surname>
            <given-names>ATVA</given-names>
          </string-name>
          , LNCS vol.
          <volume>7561</volume>
          , pp.
          <fpage>249</fpage>
          -
          <lpage>353</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <given-names>Katoen J.-P.</given-names>
            ,
            <surname>Khattri</surname>
          </string-name>
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Zapreev</surname>
          </string-name>
          <string-name>
            <surname>I. S.</surname>
          </string-name>
          (
          <year>2005</year>
          )
          <article-title>A Markov Reward Model Checker</article-title>
          . in
          <source>Second International Conference on the Quantitative Evaluation of systems (QEST</source>
          <year>2005</year>
          ). pp.
          <fpage>243</fpage>
          -
          <lpage>244</lpage>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <string-name>
            <surname>Kumazawa</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tamai</surname>
          </string-name>
          , T.
          <year>2011</year>
          )
          <article-title>CounterexampleBased Error Localization of Behavior Models</article-title>
          .
          <source>NASA Formal Methods</source>
          , pp.
          <fpage>222</fpage>
          -
          <lpage>236</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <surname>Kuntz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leitner-Fischer</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leue</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2011</year>
          )
          <article-title>From probabilistic counterexamples via causality to fault trees</article-title>
          .
          <source>LNCS</source>
          , vol
          <volume>6894</volume>
          , pp .
          <fpage>71</fpage>
          -
          <lpage>84</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <string-name>
            <surname>Leitner-Fischer</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Leue</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Causality Checking for Complex System Models</article-title>
          ,
          <source>in Proceedings of VMCAI ,LNCS</source>
          , vol
          <volume>7737</volume>
          ,
          <year>2013</year>
          , pp
          <fpage>248</fpage>
          -
          <lpage>276</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          <string-name>
            <surname>Leitner-Fischer</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Leue</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Probabilistic fault tree synthesis using causality computation</article-title>
          .
          <source>International Journal of Critical Computer-Based Systems</source>
          , vol
          <volume>4</volume>
          , no 2,
          <year>2013</year>
          , pp
          <fpage>119</fpage>
          -
          <lpage>143</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          <string-name>
            <surname>Lewis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Causation</surname>
          </string-name>
          (
          <year>1973</year>
          ).
          <source>Journal of Philosophy</source>
          . Vol.
          <volume>70</volume>
          , pp.
          <fpage>556</fpage>
          -
          <lpage>567</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <surname>Muppala</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ciardo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Trivedi</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          (
          <year>1994</year>
          )
          <article-title>Stochastic reward nets for reliability prediction</article-title>
          ,
          <source>Communications in Reliability, Maintainability and Serviceability</source>
          ,vol.
          <volume>1</volume>
          , no.5.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ivancic</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gupta</surname>
            <given-names>A</given-names>
          </string-name>
          .(
          <year>2006</year>
          )
          <article-title>Whodunit? Causal Analysis for Counterexamples</article-title>
          .
          <source>In:Proc.of the International Symposium on Automated Technology for Verification and Analysis (ATVA).</source>
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jansen</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abraham</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Becker</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katoen</surname>
            <given-names>J.P</given-names>
          </string-name>
          (
          <year>2012</year>
          )
          <article-title>Minimal Critical Subsystems for Discrete-Time Markov Models</article-title>
          , in
          <string-name>
            <surname>TACAS</surname>
          </string-name>
          , LNCS vol.
          <volume>7214</volume>
          , pp .
          <fpage>299</fpage>
          -
          <lpage>314</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jansen</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vorpahl</surname>
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2012</year>
          )
          <article-title>HighLevel Counterexamples for Probabilistic Automata, in Quantitative Evaluation of Systems (QEST), LNCS vol</article-title>
          .
          <volume>8054</volume>
          ,
          <year>2013</year>
          , pp .
          <fpage>39</fpage>
          -
          <lpage>54</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          <string-name>
            <surname>Wright</surname>
          </string-name>
          , Sewall S.:
          <article-title>Correlation and causation</article-title>
          .
          <source>Journal of Agricultural Research</source>
          , vol.
          <volume>20</volume>
          ,
          <year>1921</year>
          , pp.
          <fpage>557</fpage>
          -
          <lpage>585</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          <string-name>
            <surname>Zeller</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2002</year>
          )
          <article-title>Isolating cause-effect chains from computer programs</article-title>
          .
          <source>In: SIGSOFT 2002/FSE 10</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>