<!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>Discrete and Continuous Time High-Order Markov Models for Software Reliability Assessment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vitaliy Yakovyna</string-name>
          <email>vitaliy.s.yakovyna@lpnu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oksana Nytrebych</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Key Terms. SoftwareComponent, SoftwareSystem, MathematicalModel.</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Software Department, Lviv Polytechnic National University</institution>
          ,
          <addr-line>Lviv</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Due to the critical challenges and complexity of modern software systems developed over the last decade, there has arisen an ever increasing attention to look for products with high reliability at reasonable costs. Software development process moves toward component-based design, and architecture based approach in software reliability modeling is widely used. However, in lots of models for software reliability assessment the assumption of independent software runs is a simplification of real software behaviour. This paper describes two software reliability models that use high-order Markov chains thus taking into account dependencies among software component runs for more accurate software reliability assessment. The efficiency and accuracy of developed models is investigated by the example of several software products. It is shown that using the software reliability models based on the high-order Markov chains results in the software reliability assessment accuracy up to 10-20%.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>Software reliability</kwd>
        <kwd>architecture-based model</kwd>
        <kwd>high-order Markov chains</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Computer systems are widely used in modern industry for control and automation
purposes. All of these systems are controlled by software. Thus, software is used in
air traffic control, nuclear power plants, automated patients monitoring etc. Therefore
high requirements for software reliability are demanded because failures of such
systems can lead not only to significant financial losses, but also threaten human life and
health. Although techniques that allow assessing and ensuring the specified hardware
reliability requirements have been developed, there are no common approaches for
software systems assessment.</p>
      <p>According to STD-729, software reliability is defined as the probability of
failurefree software operation for a specified period of time in a specified environment [1,
2]. Although Software Reliability is defined as a probabilistic function, and comes
with the notion of time, it should be noted that, contrast to traditional hardware
reliability, software reliability is not a direct function of time [1]. Electronic and
mechanical parts may become "old" and wear out with time and usage, but software will not
rust or wear-out during its life cycle. Software will not change over time unless
intentionally changed or upgraded.</p>
      <p>The history of software reliability assessment methods and tools began in the 60s
of last century. A number of researchers [3-7] worked on issues of development and
research of software reliability analysis and assessment models and methods that
would allow reducing the costs required for software testing stage. New software
reliability assessment models that reflect the internal structure of the application and
interaction of its components [6], called architectural-based models, are being
developed because of increasing complexity of software systems and the result of
expanding their functional purpose.</p>
      <p>In known models based on architectural approach [6, 7] the theory of first order
Markov chains is used with the assumption that the software components runs are
independent. This assumption is not always true due to the complexity of modern
software architecture and huge set of usage scenarios this assumption [8, 9].
Therefore, for the development of adequate software reliability assessment models, which
will improve the testing process (e.g. allow to reduce the needed resources), one
should consider the high-order Markov chains, which allow to take into account the
interdependence of components runs [10].</p>
      <p>This paper describes the software reliability assessment models based on
architectural approach, which use discrete and continuous time high-order Markov chains and
their comparison based on real world data. Nowadays architecture-based software
reliability models have been well studied in theory, but there is lack of papers
describing their practical applications. Developing of high-order models for software
reliability assessment is not described enough in literature as well. Thus, the development of
new architecture-based software reliability assessment models that take into account
the dependencies among software component runs along with their application to real
world data is still a problem waiting for solution.
2 Software Reliability Model with Discrete Time High-Order
Markov Chain</p>
      <p>This model considers absorbing Markov process that implies the existence of one
or more absorbing states, i.e. states that, once entered, cannot be left.</p>
      <p>The developed software reliability assessment model [10] is hierarchical, that is
initially software architecture parameters are calculated based on software usage model
[11] using the theory of Markov processes, and then the behaviour of each component
failures is taken into account.</p>
      <p>The discrete time HOMC software reliability model can be described using the
following components – Ci  is the graph with vertices corresponding to software
components, while edges indicates the program control flow ( i  1, N , where N is
the number of program components); P  pij..kl  is the high-order transition
proba</p>
      <p>In turn, the reliabilities of each component ( Rl ) using high-order Markov chains
are calculated by</p>
      <p>N
R   Rl
l1</p>
      <p>.</p>
      <p>Rl  exp (
 Vij .. kltij .. kl
ij . k
l (t)dt)
0
bility matrix ( pij..kl – transition probability from component і to component l
depending on being in previous K components); Q  qij..kl  is the initial probability
vector; i t  is the failure rate of i -th software component.</p>
      <p>
        According to this model the reliability of the whole system is calculated as
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
.
      </p>
      <p>To calculate Vij..kl – the expected number of visits a component l depending on
being in previous K components – one has to solve the following system of linear
equations:</p>
      <p>N 1
V j..kl  qij..k  Vij..k pij..kl
i1
,
here tij..kl denotes the time spent at the component l depending on being in previous
K components.
3 Software Reliability Model with Continuous Time
HighOrder Markov Chain</p>
      <p>Using discrete-time model has a number of significant simplifications and
restrictions. Thus, this model takes into account only the number of visits to i -th
component without taking into account of the distribution function of this random variable
(while taking it into account the expected value should be used). In addition, it is clear
that at any given time t the software failure is generally caused by the failure of the
software component, which is executed at a given time (in case of sequential
connection of software components in Reliability Block Diagram). Thus, to increase the
degree of adequacy of the software reliability architectural model the continuous time
Markov chains should be used.</p>
      <p>The continuous time HOMC software reliability model can be described using the
following components – Ci  is the graph with vertices corresponding to software
components, while edges indicates the program control flow ( i  1, N , where N is
the number of program components); A  aij  is the high-order transition
probability matrix i, j  1, N (the values of matrix elements aij depends on the way of
getting into the state i ); P  pi t  is the probability vector, where pi t  is the
probability being in state Ci at time t ; i t  is the failure rate of i -th software
component.</p>
      <p>
        In this case, the failure rate of a software system consisting of N components can
be written as [12]
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
      </p>
      <p>N
 t    pi t i t 
here i t  is the failure rate of i -th component, pi t  is the probability of i -th
component execution at time t .</p>
      <p>Components failure rates i t  can be obtained from the results of unit testing
using known software reliability models, for example ones based on an inhomogeneous
Poisson process [13].</p>
      <p>If the flow control between the components of the software is presented as a
Markov process with continuous time, assuming that the i -th state of the process is the
execution of i -th component, the time dependences of the probabilities being in i -th
state ( pi t ) can be obtained by solving the system of equations of the Kolmogorov–
Chapman [14] for this process:
dpi t 
dt
 ij (t) p j (t)  ji (t) p j (t), i  S
jS jS
,
here ij (t) is the transition intensity from component і to component j at time t, and
S denotes the set of all system states. In general the transition intensities ij (t)
depends on the transition probabilities aij and could be calculated from latter.</p>
      <p>To take into account the interdependence of execution of software component (and
consequently changes of transition probability from i -th state) depending on the way
of getting to the current state, the high-order Markov chain should be used (the order
K of the model determines the accounted length of the path). In a case of high-order
Markov chains the actual problem is to calculate the transition probabilities depending
on the program control flow background.</p>
      <p>It is well known that a high order Markov chain can be represented as a first order
chain by appropriate redefining the state space [15]. For software implementation of
models that use high-order chains, it is necessary to have the formalized algorithm for
this representation. Using the analogy with the known Erlang phase method [16] a
high-order Markov process can be represented as an equivalent first-order process
with additional virtual states. Each state of the original graph Ci  (geometric
diagram, showing the possible states of the system and the possible transitions of the
system from one state to another) is split into such number of virtual states as many
different paths of length K to this state exist. Thus the problem solution essentially is
reduced to using of graph theory. Therefore, to calculate the number miKj of chains of
K-th order from state i to state j the following expression based on the Floyd method
can be used:
j1</p>
      <p>S
miKj   mK 1  eil m1
il lj
,
here eij are the elements of the identity matrix.</p>
      <p>
        Using (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) one can build an equivalent graph Ci which is a representation of the
initial graph Ci , taking into account all K -th order paths to i -th state. This allows
to avoid the dependencies of the transition intensities ij (t) on the program control
flow background. Then the time dependence of the software component execution
probability is obtained by solving the system of Kolmogorov–Chapman equations (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
for the equivalent first order Markov process. Using this dependence in (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) together
with the component failure rate, the failure rate of the whole software system can be
calculated.
      </p>
      <p>
        For calculation of software reliability measures, based on the obtained relationship
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ), one can use the following relations [14]:
      </p>
      <p>- reliability function P(t) – the probability that no failure will occur within the
time interval [0, t] – can be calculated as
mean operating time to failure Tl</p>
      <p>t
P(t)  exp (  ( )d )</p>
      <p>0

0</p>
      <p>T1   P( )d
4 Determination of the Markov Chain Order for Software
Reliability Assessment</p>
      <p>
        In this paper it is proposed to use AIC and BIC criteria [17] since they are not a
hypothesis test and they don’t use the significance level. Although these criteria give
consistent results and don’t depend on the estimated model order. They are efficiently
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
used for weather forecasting and selection of adequate environmental model [18]. But
the usage of these criteria in software reliability modeling still remains unexamined.
      </p>
      <p>In general AIC criterion [19] is calculated by the following expression:
AIC  2k  2ln(L)
,
here k is the number of independent parameters in the model, and L is the model’s
maximum likelihood function.</p>
      <p>
        If the value of this software model’s maximum likelihood function is substituted in
the expression (
        <xref ref-type="bibr" rid="ref9">9</xref>
        ), and instead of parameter k one substitute the number of the K-th
order model parameters, which contain N components ( k  N K (N  1) ), then the
following expression can be obtained [20]
      </p>
      <p>AIC (K )  2N K (N 1)  2 ln( </p>
      <p>pij..kl nij..kl ) ,
i, j,.., k,l</p>
      <p>
        In the case of using the BIC criterion for the Markov chain optimal order
determination in the case of software reliability modeling, the expression similar to AIC
criterion (
        <xref ref-type="bibr" rid="ref10">10</xref>
        ) is obtained:
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )
(
        <xref ref-type="bibr" rid="ref10">10</xref>
        )
(
        <xref ref-type="bibr" rid="ref11">11</xref>
        )
(
        <xref ref-type="bibr" rid="ref12">12</xref>
        )
here nij..kl is the number of transitions from component і to component l depending
on being in previous components ( i  j  ...  k  l ) in observed sequence
and pij..kl is the transition probability in this sequence.
      </p>
      <p>
        As it can be seen from (
        <xref ref-type="bibr" rid="ref10">10</xref>
        ), this criterion is independent of sample size. Therefore,
AIC criterion is used in the case of a large sample size (observable sequence) when
the software is tested many times and the sequence of software component runs is
logged.
      </p>
      <p>An alternative to AIC criterion is ВІС [21], which takes into account the number of
elements in observable sequence and expressed as</p>
      <p>BIC(K)  2 ln(L)  ln(n)k.</p>
      <p>BIC (K )  2N K (N 1) ln(n)  2</p>
      <p> nij..kl ln pij..kl .</p>
      <p>i, j,.., k,l</p>
      <p>It is worth noted that the BIC criterion should be used at the small sample size of
empirical data concerning the software usage, because it imposes stronger penalties
even when the sample size n&gt;8.</p>
      <p>Thus, after determining the order of Markov chain, the well-known classical
Markov tools can be used for software reliability assessment as it was described above.
0,90
0,85
R
,
ity0,80
li
b
a
li
e
R
0,75
0,70</p>
    </sec>
    <sec id="sec-2">
      <title>First-order model</title>
    </sec>
    <sec id="sec-3">
      <title>Second-order model</title>
    </sec>
    <sec id="sec-4">
      <title>Testing data</title>
      <sec id="sec-4-1">
        <title>Verification of the Models</title>
        <p>To study the efficiency of the developed software reliability assessment model
that uses the discrete time high-order Markov chains, the reliabilities of the five
software systems, developed by one of the authors, were calculated using the first and the
high order Markov chain models. The average amount of software components in
tested software systems is 10. The results of reliability calculations using the first and
the high-order models are shown in Fig. 1 along with the reliability obtained from unit
testing data.</p>
        <p>1
2</p>
        <p>3</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Software</title>
      <p>4
5</p>
      <p>The probability transition matrix and the initial probability vector of the Markov
chain were calculated and are summarized in Table 2 and Table 3 correspondingly.</p>
      <p>The initial graph Ci  indicating the program components and control flow, as
well as graph Ci of the equivalent second order (see Table 4) Markov process are
shown in Fig. 2 and 3 correspondingly. The notations in these figures are as follows: I
correspond to Input state, C – to Calculation, O – to Output, and E to Exit state (see
Table 2); indexes indicates the previous state in control flow history (thus state OC
means that the current state Output has been reached from previous state Calculation).</p>
      <p>E
Ii</p>
      <p>E
Io</p>
      <p>Oc
Oo</p>
      <p>Ic
Ci
creases by more than 60 a.u. the difference between values of  t  obtained from
both models almost tends to be negligible. Reducing the difference of  t  values,
obtained from the first and the second-order models, to zero at high times can be
explained by decreasing of the  t  value itself and by the absence of differences in
the software behaviour description by two models in this case. In the case of t  
both models suggest that system is in the “Exit” state (see Fig. 2, 3) and, accordingly,
its failure rate is limited by this component failure rate. Differences of  t 
behaviour on the initial evolution stages of software system can be entirely explained by
differences in the software system behaviour description by different models, where
the first-order model ignores the interdependence of software component runs, and
therefore the probabilities of components executing are different at given time t for
both models. Thus, it could be argued that software reliability model based on the
high order Markov chain describes the software system behaviour more adequately
and determines its reliability measures more accurately.</p>
      <p>0
10
20</p>
      <p>30
t, a.u.</p>
      <p>40
90
100</p>
      <p>
        This conclusion is confirmed by the analysis of software system reliability function
time dependence obtained using equation (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) as shown in Fig. 5. Note that the
reliability function is calculated using Ukrainian national standards [22] and, as it was
indicated in (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), represents the probability of failure free operation during the time
interval 0,t , but not exactly at the time t . So, it is evidently that the reliability
function is time-decreasing one. As it can be seen from Fig. 5, the difference in the
values Pt  increases up to 20% with time value increasing. This behavior is easily
)
t
(

0,15
0,10
0,05
0,00
1
2
      </p>
    </sec>
    <sec id="sec-6">
      <title>1 - first order model</title>
    </sec>
    <sec id="sec-7">
      <title>2 - second order model</title>
      <p>understood if taking into account the interval estimation of reliability for the range
0, t [15], and its deviation evidently increases with interval length increasing.</p>
      <p>So, we can conclude that ignoring the interdependence of software components
runs could results in increasing inaccuracy of software reliability measures estimation
up to 20%.</p>
      <p>
        Another measure of reliability, which was used to determine the developed
highorder model effectiveness and adequacy, is the mean operating time to failure T1 . The
value of mean operating time to failure calculated by the expression (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) is 20.9 time
units for first-order model, while the value obtained from the second-order model is
23.3 time units. Obviously the difference between the first and the second-order
models is 11.5%, which can be crucial in the reliability analysis of the complex technical
systems.
      </p>
      <p>1,0
0,8
) 0,6
t
(
P
0,4
0,2
1 - first order model
2 - second order model
1</p>
      <p>2
50
t, a.u.
0
10
20
30
40
60
70
80
90
100</p>
      <p>Therefore, the usage of software reliability models based on the high-order Markov
chains even with a small components number (in this case there was 4 component
software, see Fig. 2) and complexity (in this case the optimal model order is 2, see
Table 4) results in the increase of model adequacy and the software reliability
assessment accuracy on 10–20%. The value of such growth of reliability estimation
accuracy is especially important in the case of complex hardware and software systems in
which the mistake of software component reliability estimation can repeatedly affect
the accuracy of whole system reliability assessment. Using the high-order models for
more complex software systems could results in more significant improvements of
reliability assessment.</p>
      <sec id="sec-7-1">
        <title>Conclusions</title>
        <p>In this paper the software reliability models using discrete and continuous time
high-order Markov chains, which enable consideration the dependencies among
software components runs, have been developed. Software reliability assessment based
on the high-order discrete time Markov chains allows to increase the software
reliability measures accuracy up to 6 %, and high-order continuous time Markov chain – up
to 10–20%. The advantage of high-order discrete time Markov chains model for
software reliability analysis is small computing resources needed even for software with a
lot of components, while the advantages of high-order continuous time Markov chains
model are independence from the sampling step (in the case of discrete time model it
may cause inaccurate transition probabilities calculation), and also automatic
consideration of transitions pii that avoids unnecessary computations. Practical aspects of
estimating input parameters for the models as well as studying the dependence of the
software reliability on its characteristics (components number, the average number of
variables in the component, components cohesion etc.) will be described elsewhere.
13. Seniv, M., Yakovyna, V., Chabanyuk, Ya., Fedasyuk, D.: The Method of Reliability
Prediction and Estimation Based on Model with Dynamic Index of Project Size. Computing
10, 97–107 (2011) (in Ukrainian)
14. Polovko A., Gurov, S.: Fundamentals of the Reliability Theory. Practical work.
BHV</p>
        <p>Peterburg (2006) (in Russian)
15. Markov Models, Hidden and Otherwise,
http://kochanski.org/gpk/teaching/0401Oxford/HMM.pdf
16. Volochiy, B.Yu., Ozirkovskii, L.D., Kulyk, I.V.: Formalization of Discrete-Continuous
Stochastic Systems Model Building using Erlang Phases Method. Vidbir i Obrobka
Informatsii 36, 39–47 (2012) (in Ukrainian)
17. Burnham, P.: Model Selection and Multimodel Inference: a Practical
Information</p>
        <p>Theoretic Approach. Springer, Heidelberg (2002)
18. Liu, T.: Application of Markov Chains to Analyze and Predict the Time Series. Modern</p>
        <p>
          Applied Science 4(
          <xref ref-type="bibr" rid="ref5">5</xref>
          ), 162–166 (2010)
19. Akaike, Н.: A New Look at the Statistical Model Identification. IEEE Trans. Auto. Control
19(
          <xref ref-type="bibr" rid="ref6">6</xref>
          ), 716–723 (1974)
20. Tong, H.: Determination of the Order of a Markov Chain by Akaike's Information
Criterion. J. Appl. Probability 12, 488–497 (1975)
21. Schwarz, G.: Estimating the Dimension of a Model. Annals of Statistics 6(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ), 461–464
(1978)
22. Dependability of Technics. Terms and Definitions, State Standard of Ukraine
DSTU-286094 (1996)
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Lyu</surname>
            ,
            <given-names>M. R.</given-names>
          </string-name>
          :
          <article-title>Handbook of Software Reliability Engineering</article-title>
          .
          <string-name>
            <surname>McGraw-Hill</surname>
            , New York,
            <given-names>U.S.A.</given-names>
            and IEEE Computer Society Press, Los Alamitos, California, U.S.A.
          </string-name>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Standard Glossary of Software Engineering Terminology, STD-729-
          <fpage>1991</fpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Musa</surname>
            ,
            <given-names>J.D.</given-names>
          </string-name>
          :
          <article-title>Validity of Execution Time Theory of Software Reliability</article-title>
          .
          <source>IEEE Trans. on Reliability 3</source>
          ,
          <fpage>199</fpage>
          -
          <lpage>205</lpage>
          (
          <year>1979</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Goel</surname>
            ,
            <given-names>A. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Okumoto</surname>
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Time-Dependent Error Detection Rate Model for Software and other Performance Measures</article-title>
          .
          <source>IEEE Trans. on Reliability R-28</source>
          ,
          <fpage>206</fpage>
          -
          <lpage>211</lpage>
          (
          <year>1979</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Xie</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          : Software Reliability Modelling. World Scientific,
          <string-name>
            <surname>Singapore</surname>
          </string-name>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Goševa-Popstojanova</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <source>Trivedi Kishor S.: Architecture-Based Approach to Reliability Assessment of Software Systems. Performance Evaluation</source>
          ,
          <volume>45</volume>
          ,
          <fpage>179</fpage>
          -
          <lpage>204</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Gokhale</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wong</surname>
            ,
            <given-names>W.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horgan</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Trivedi</given-names>
            <surname>Kishor</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.:</surname>
          </string-name>
          <article-title>An Analytical Approach to Architecture-Based Software Performance Reliability Prediction</article-title>
          .
          <source>Performance Evaluation</source>
          <volume>58</volume>
          (
          <issue>4</issue>
          ),
          <fpage>13</fpage>
          -
          <lpage>22</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Takagi</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Furukawa</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yamasaki</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Accurate Usage Model Construction Using HighOrder Markov Chains</article-title>
          .
          <source>In: Supplementary Proc. 17th Int. Symposium on Software Reliability Engineering</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>2</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Burkhart</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fatiha</surname>
            ,
            <given-names>Z</given-names>
          </string-name>
          . (Eds.):
          <source>Testing Software and Systems. Proc. 23rd IFIP WG 6.1 Int. Conf. LNCS</source>
          , vol.
          <volume>7019</volume>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Yakovyna</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serdyuk</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nytrebych</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fedasyuk</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>High-Order Markov Chains Usage in Software Reliability Analysis</article-title>
          .
          <source>Bulletin of Lviv Polytechnic National University</source>
          <volume>771</volume>
          ,
          <fpage>209</fpage>
          -
          <lpage>213</lpage>
          (
          <year>2013</year>
          )
          <article-title>(in Ukrainian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Fedasyuk</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yakovyna</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serdyuk</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nytrebych</surname>
            <given-names>О</given-names>
          </string-name>
          .:
          <source>Variable State-Based Software Usage Model Based on its Variables. Econtechmod</source>
          <volume>3</volume>
          ,
          <fpage>15</fpage>
          -
          <lpage>20</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Yakovyna</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Masyukevych</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>The Model for Software Reliability Estimation Using High-Order Continuous-Time Markov Chains</article-title>
          .
          <source>In: Proc.9th Int. Scientific and Technical Conference on Computer Science and Information Technologies</source>
          , pp.
          <fpage>83</fpage>
          -
          <lpage>86</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>