2.2. Generic model of software reliability and security evaluation model

Though the bigeminal model has the advantage of being mathematically simple, it does not take into account peculiarities of various types of software modifications relating to new functionality, correction of global and local errors, elimination of vulnerabilities, issues of integration and upgrade or degradation of the operating system, optimization, etc.

In order to address these issues and increase the model accuracy, we should introduce classification of modifications (including corrected errors) taking the following calculated expression for the revision efficiency factor:

$$A\_j = \sum\_{i=0}^{e} a\_i k\_{ij\prime} \tag{5}$$

Lu <sup>¼</sup> <sup>Y</sup><sup>u</sup> j¼1 Cnj mj Pni�<sup>m</sup>b<sup>j</sup> <sup>j</sup> 1 � Pj

success of each of the nj runs of <sup>j</sup> series, and <sup>m</sup>c<sup>j</sup> is the number of failures in nj runs.

<sup>m</sup>c<sup>j</sup> ln 1 � <sup>P</sup><sup>∞</sup> <sup>þ</sup> ð Þ <sup>P</sup><sup>∞</sup> � <sup>P</sup><sup>0</sup>

� � ln <sup>P</sup><sup>∞</sup> <sup>þ</sup> ð Þ <sup>P</sup><sup>∞</sup> � <sup>P</sup><sup>0</sup>

<sup>0</sup> <sup>þ</sup> hr <sup>∂</sup> ln L P<sup>r</sup>

<sup>∞</sup> <sup>þ</sup> hr <sup>∂</sup> ln L P<sup>r</sup>þ<sup>1</sup>

<sup>1</sup> <sup>þ</sup> hr <sup>∂</sup> ln L Prþ<sup>1</sup>

<sup>e</sup> <sup>þ</sup> hr <sup>∂</sup> ln L P<sup>r</sup>þ<sup>1</sup>

The following new calculated expressions of partial derivatives of the reduced maximum

P<sup>0</sup> � P<sup>∞</sup> P<sup>∞</sup>

P<sup>0</sup> � P<sup>∞</sup> P<sup>∞</sup> <sup>α</sup><sup>l</sup> <sup>γ</sup>li � � � � ,

For the sake of convenience, we can take the logarithm of the function Lu and modify the

The obtained reduced function is convex and is defined for a convex set; that is why in order to find the maximum of the likelihood function, we can use, for example, the modified steepest

> <sup>0</sup>; P<sup>r</sup> <sup>∞</sup>; ar <sup>1</sup>; …; ar e

<sup>0</sup> ; P<sup>r</sup> <sup>∞</sup>; a<sup>r</sup> <sup>1</sup>;…; ar e

<sup>0</sup> ; Prþ<sup>1</sup> <sup>∞</sup> ; a<sup>r</sup>

<sup>0</sup> ; Prþ<sup>1</sup> <sup>∞</sup> ; arþ<sup>1</sup>

� � ∂ae !

> αlβ<sup>l</sup> � α<sup>l</sup> � �

� � � � ;

þ 1

where Cnj

mj <sup>=</sup> nj! <sup>m</sup>b<sup>j</sup> ! nj�<sup>m</sup>b<sup>j</sup>

function in the following way:

ln ð Þ¼ Lu

Xu J¼1

<sup>þ</sup> nj � <sup>m</sup>c<sup>j</sup>

descent method with the variable increment parameter h<sup>r</sup>

P<sup>r</sup>þ<sup>1</sup> <sup>0</sup> <sup>¼</sup> Pr

8

>>>>>>>>>>>>>>>><

a<sup>r</sup>þ<sup>1</sup> <sup>1</sup> <sup>¼</sup> ar

…

likelihood function were obtained during this study:

8

>>>>>>>>>>><

>>>>>>>>>>>:

dlnLj dP<sup>0</sup>

dlnLj dP<sup>∞</sup>

dlnLj dai

<sup>¼</sup> <sup>X</sup> j

<sup>¼</sup> <sup>X</sup> j

<sup>¼</sup> <sup>X</sup> j

l¼0 wlal;

l¼0

l¼0

wl

wj

>>>>>>>>>>>>>>>>:

where r is the iteration number.

<sup>P</sup><sup>r</sup>þ<sup>1</sup> <sup>∞</sup> <sup>¼</sup> Pr

<sup>a</sup><sup>r</sup>þ<sup>1</sup> <sup>e</sup> <sup>¼</sup> ar

� �mc<sup>j</sup> , (7)

Models for Testing Modifiable Systems http://dx.doi.org/10.5772/intechopen.75126

� �, u is the number of the last software revision, Pj is the probability of

Y j

! � �

Y j

l¼1

� � ∂P<sup>0</sup> � �;

� � ∂P<sup>∞</sup> !

� � ∂a<sup>1</sup> !

<sup>1</sup>;…; a<sup>r</sup> e

<sup>1</sup> ;…; ar e

<sup>1</sup> �X<sup>e</sup>

i¼1 aikij P<sup>∞</sup>

;

;

,

<sup>1</sup> �X<sup>e</sup>

i¼1 aikij P<sup>∞</sup>

(8)

153

(9)

(10)

l¼1

� �! !:

:

where e is the number of software modification classes.

Considering all this, we can obtain a generic non-monotonic reliability evaluation model:

Pu ¼ P<sup>∞</sup> � ð Þ P<sup>∞</sup> � P<sup>0</sup> Yu j¼1 1 � P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikij P<sup>∞</sup> � �, (6)

where e is the number of software modification classes.

This model depends on (e+2) parameters. The following section includes an example of the model parameter calculation using the maximum likelihood method.

#### 2.3. Calculated expressions of reliability and security evaluation model parameters

The maximum likelihood method can be used to calculate parameters of the bigeminal (Eq. (4)) and generic (Eq. (6)) models. The following data obtained during the software tests can be used as the initial statistics: the set of tests nj � �, the set of failed tests (failures) <sup>m</sup><sup>b</sup> <sup>j</sup> � � between revisions, and the set of revision complexity metrics kij � �. In this case, if the software runs are considered independent, the function of maximum likelihood represents the probability of obtaining the total sample (ni, <sup>m</sup><sup>b</sup> j, j <sup>¼</sup> <sup>1</sup>, u) of the number of failures in the performed series of software runs:

Models for Testing Modifiable Systems http://dx.doi.org/10.5772/intechopen.75126 153

$$L\_u = \prod\_{j=1}^{u} \mathbb{C}\_{m\_j}^{n\_j} P\_j^{n\_i - \widehat{m\_j}} (1 - P\_j) \widehat{m\_j} \,\tag{7}$$

where Cnj mj <sup>=</sup> nj! <sup>m</sup>b<sup>j</sup> ! nj�<sup>m</sup>b<sup>j</sup> � �, u is the number of the last software revision, Pj is the probability of success of each of the nj runs of <sup>j</sup> series, and <sup>m</sup>c<sup>j</sup> is the number of failures in nj runs.

For the sake of convenience, we can take the logarithm of the function Lu and modify the function in the following way:

$$\begin{split} \ln \left( L\_{\text{u}} \right) &= \sum\_{l=1}^{u} \left( \widehat{m\_{l}} \ln \left( 1 - P\_{\text{ov}} + (P\_{\text{ov}} - P\_{0}) \prod\_{l=1}^{j} \left( 1 - \sum\_{i=1}^{\epsilon} \frac{a\_{i} k\_{\vec{\eta}}}{P\_{\text{ov}}} \right) \right) \right. \\ &+ \left( n\_{\vec{\eta}} - \widehat{m\_{\vec{\eta}}} \right) \ln \left( P\_{\text{ov}} + (P\_{\text{ov}} - P\_{0}) \prod\_{l=1}^{j} \left( 1 - \sum\_{i=1}^{\epsilon} \frac{a\_{i} k\_{\vec{\eta}}}{P\_{\text{ov}}} \right) \right) . \end{split} \tag{8}$$

The obtained reduced function is convex and is defined for a convex set; that is why in order to find the maximum of the likelihood function, we can use, for example, the modified steepest descent method with the variable increment parameter h<sup>r</sup> :

$$\begin{cases} P\_0^{r+1} = P\_0' + h' \left( \frac{\partial \ln L\left(P\_0', P\_{\text{ov}}', a\_1^r, \dots, a\_\epsilon^r\right)}{\partial P\_0} \right); \\\ P\_{\text{ov}}^{r+1} = P\_{\text{ov}}' + h' \left( \frac{\partial \ln L\left(P\_0'^{r+1}, P\_{\text{ov}}', a\_1^r, \dots, a\_\epsilon^r\right)}{\partial P\_{\text{ov}}} \right); \\\ a\_1^{r+1} = a\_1' + h' \left( \frac{\partial \ln L\left(P\_0'^{r+1}, P\_{\text{ov}}'^{r+1}, a\_1^r, \dots, a\_\epsilon^r\right)}{\partial a\_1} \right); \\\ \dots \\\ a\_\epsilon^{r+1} = a\_\epsilon' + h' \left( \frac{\partial \ln L\left(P\_0'^{r+1}, P\_{\text{ov}}'^{r+1}, a\_1^{r+1}, \dots, a\_\epsilon'\right)}{\partial a\_\epsilon} \right); \end{cases} \tag{9}$$

where r is the iteration number.

where u is the number of completed revisions of the software, a<sup>1</sup> is the efficiency factor of the software revisions aimed at error correction, a<sup>2</sup> is the efficiency factor of the software revisions aimed at introduction of new functions, and kij is the scope of j revision with the purpose of

The bigeminal model (Eq. (4)) depends on four parameters (P0, P∞, a1, a2Þ that can be easily

Though the bigeminal model has the advantage of being mathematically simple, it does not take into account peculiarities of various types of software modifications relating to new functionality, correction of global and local errors, elimination of vulnerabilities, issues of

In order to address these issues and increase the model accuracy, we should introduce classification of modifications (including corrected errors) taking the following calculated expres-

> Aj <sup>¼</sup> <sup>X</sup><sup>e</sup> i¼0

Considering all this, we can obtain a generic non-monotonic reliability evaluation model:

Yu j¼1

This model depends on (e+2) parameters. The following section includes an example of the

The maximum likelihood method can be used to calculate parameters of the bigeminal (Eq. (4)) and generic (Eq. (6)) models. The following data obtained during the software tests can be used

considered independent, the function of maximum likelihood represents the probability of obtaining the total sample (ni, <sup>m</sup><sup>b</sup> j, j <sup>¼</sup> <sup>1</sup>, u) of the number of failures in the performed series of

2.3. Calculated expressions of reliability and security evaluation model parameters

1 � P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikij P<sup>∞</sup> � �

� �, the set of failed tests (failures) <sup>m</sup><sup>b</sup> <sup>j</sup>

� �. In this case, if the software runs are

Pu ¼ P<sup>∞</sup> � ð Þ P<sup>∞</sup> � P<sup>0</sup>

model parameter calculation using the maximum likelihood method.

aikij, (5)

, (6)

� � between

calculated with the use, for instance, of the maximum likelihood method.

2.2. Generic model of software reliability and security evaluation model

integration and upgrade or degradation of the operating system, optimization, etc.

correction or update.

152 Probabilistic Modeling in System Engineering

sion for the revision efficiency factor:

where e is the number of software modification classes.

where e is the number of software modification classes.

revisions, and the set of revision complexity metrics kij

as the initial statistics: the set of tests nj

software runs:

The following new calculated expressions of partial derivatives of the reduced maximum likelihood function were obtained during this study:

$$\begin{cases} \frac{d\ln L\_j}{dP\_0} = \sum\_{l=0}^j w\_l a\_l; \\\frac{d\ln L\_j}{dP\_\infty} = \sum\_{l=0}^j \left( w\_l \left( \left( \frac{P\_0 - P\_\infty}{P\_\infty} \alpha \beta\_l - \alpha\_l \right) + 1 \right) \right); \\\frac{d\ln L\_j}{da\_l} = \sum\_{l=0}^j \left( w\_l \left( \frac{P\_0 - P\_\infty}{P\_\infty} \alpha\_l \gamma\_{li} \right) \right). \end{cases} \tag{10}$$

$$\text{where } w\_{\vec{j}} = \frac{n\_{\vec{j}} - m\_{\vec{i}}}{P\_{\vec{j}}} - \frac{m\_{\vec{j}}}{1 - P\_{\vec{j}}}; \alpha\_{\vec{j}} = \prod\_{l=1}^{j} \left( 1 - \frac{\sum\_{i=1}^{\prime} a\_{i} k\_{l}}{P\_{\bullet}} \right); \beta\_{\vec{j}} = \sum\_{l=1}^{j} \frac{\sum\_{i=1}^{\prime} a\_{i} k\_{l}}{1 - \sum\_{i=1}^{\prime} a\_{i} k\_{l} P\_{\bullet}}, \gamma\_{\vec{j}} = \sum\_{l=1}^{j} \frac{-k\_{l}}{1 - \sum\_{i=1}^{\prime} a\_{i} k\_{l} P\_{\bullet}}$$

Judging from the practical experience, the following accuracy is sufficient in order to define evaluations P0,P∞,a1, …, ae:

$$\begin{cases} P\_0^{r+1} - P\_0^r \le 0.001; \\ P\_\infty^{r+1} - P\_\infty^r \le 0.001; \\\\ a\_i^{r+1} - a\_i^r \le 0.0001. \end{cases}$$

Improving accuracy of parameters, ai (i ¼ 1, e) definition is related to their strong effect on the function Pj of reliability evaluation. Zero-order approximations can be found using the statistical modeling method for logical intervals:

$$\begin{cases} 0 \le P\_0 \le 1 - \left(\frac{M\_0}{N\_0}\right);\\ 1 - \left(\frac{M\_\infty}{N\_\infty}\right) \le P\_\infty \le 1;\\ \frac{1}{K\_i e} \left(1 - \sqrt{\frac{M\_\infty N\_0}{N\_\infty M\_0}}\right) \le a\_i \le \frac{1}{K\_i^{\max} e'} \end{cases} \tag{11}$$

2.4. Estimation of accuracy of software reliability and security evaluation model

deviation shall be defined according to the following equation:

values of partial derivatives of the reliability growth function:

8

>>>>>>>><

>>>>>>>>:

dispersions and correlation moments of the desired values:

δ2

The following equation can be used for its formulation:

M ¼

dPj dP<sup>0</sup>

dPv dP<sup>∞</sup>

dPj dai

j

l¼1

<sup>δ</sup><sup>P</sup><sup>0</sup> <sup>δ</sup><sup>P</sup><sup>∞</sup> <sup>r</sup><sup>P</sup>0P<sup>∞</sup> <sup>δ</sup><sup>2</sup>

1� P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli=P<sup>∞</sup>

¼ αj;

<sup>¼</sup> <sup>P</sup><sup>0</sup> � <sup>P</sup><sup>∞</sup> P2 ∞

<sup>¼</sup> <sup>P</sup><sup>0</sup> � <sup>P</sup><sup>∞</sup> P<sup>∞</sup>

> P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli

<sup>P</sup><sup>0</sup> δ<sup>P</sup><sup>0</sup> δ<sup>P</sup><sup>∞</sup> r<sup>P</sup>0P<sup>∞</sup> …

… ……

<sup>K</sup> ¼ �M�<sup>1</sup>

∂<sup>2</sup> ln Lu ∂ P0P<sup>∞</sup>

> ∂<sup>2</sup> ln Lu ∂P∞ae

………

…

∂<sup>2</sup> ln Lu ∂ P0ae …

∂<sup>2</sup> ln Lu ∂ a<sup>2</sup> e

…

δ<sup>P</sup><sup>0</sup> δae r<sup>P</sup>0ae δ<sup>P</sup><sup>∞</sup> δae r<sup>P</sup>∞ae …

where M is matrix of the second partial derivatives of the likelihood function:

∂<sup>2</sup> ln Lu ∂ P<sup>2</sup> 0

∂<sup>2</sup> ln Lu ∂ P0ae

<sup>P</sup><sup>0</sup> þ … þ ∂Pj=∂ae

� �<sup>2</sup>

δ2

where rxy is correlation factor of parameters x and y.

σ<sup>j</sup> ¼ ð ∂Pj=∂P<sup>0</sup> � �<sup>2</sup>

where <sup>α</sup><sup>j</sup> <sup>¼</sup> <sup>Q</sup>

j

l¼1

1 � P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli P<sup>∞</sup> � �, <sup>β</sup><sup>j</sup> <sup>¼</sup> <sup>P</sup>

K ¼

Authors of the absolute majority of reliability growth models do not provide any analytical assessment of their accuracy, which makes it difficult to select a specific model. This works allows excluding this drawback. The accuracy of the software reliability estimation can be characterized by the root-mean-square deviation. In order to obtain an accuracy estimation model, it is convenient to use the linearization method [24]. In this case, the root-mean-square

> δ2 ae þ 2

The following original calculated expressions were obtained in this work in order to get the

∂Pj ∂P<sup>0</sup> � � ∂Pj

αjβ<sup>j</sup> � α<sup>j</sup> þ 1

, and <sup>γ</sup>ji <sup>¼</sup> <sup>P</sup>

!

αjγji,

Other parameters of the formula can be defined from the covariance matrix that includes

<sup>P</sup><sup>∞</sup> …

∂P<sup>∞</sup>

;

j

�kli

…

: (16)

: (18)

δ2 ae

, (17)

l¼1

1� P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli=P<sup>∞</sup> .

δ<sup>P</sup><sup>0</sup> δae r<sup>P</sup>0ae

δ<sup>P</sup><sup>∞</sup> δae r<sup>P</sup>∞ae

� �δ<sup>P</sup><sup>0</sup> <sup>δ</sup><sup>P</sup><sup>∞</sup> <sup>r</sup><sup>P</sup>0P<sup>∞</sup> <sup>þ</sup> … <sup>þ</sup> , (14)

Models for Testing Modifiable Systems http://dx.doi.org/10.5772/intechopen.75126

(15)

155

where M<sup>0</sup> is the number of failures in the first N<sup>0</sup> runs, M<sup>∞</sup> is the number of failures in the last N<sup>∞</sup> runs, and Kmax <sup>i</sup> is the maximum value of kij when <sup>j</sup> <sup>¼</sup> <sup>1</sup>, u and Ki <sup>¼</sup> <sup>P</sup><sup>e</sup> <sup>i</sup>¼<sup>1</sup> kji.

Thus, if we assume that cP<sup>0</sup> , P <sup>c</sup><sup>∞</sup> , <sup>a</sup>b<sup>1</sup> , …, <sup>a</sup>b<sup>e</sup> are random values distributed evenly on previously specified intervals, we should perform a certain number of samples and select a set of parameters corresponding to the maximum likelihood function. This set shall be considered to be the desired initial values. As the experience shows, during the initial stages of tests, the general trend of software reliability increase due to modifications may not be present. This can lead to unreliable results obtained with the use of the maximum likelihood method (an infinite number of iterations will be required to calculate the function maximum).

In order to overcome this drawback, the method of relative entropy minimization can be used:

$$I\_u = \sum\_{j=1}^{u} \left( \frac{m\_j}{n\_j} \ln \frac{m\_j}{n\_j P\_j} + \frac{n\_j - m\_j}{n\_j} \ln \frac{n\_j - m\_j}{n\_j (1 - P\_j)} \right),\tag{12}$$

where mj is the number of failed runs of the total number nj of runs of j series and u is the number of completed software revisions.

In order to check the necessary and sufficient condition for acceptability of the maximum likelihood method, the following ratio can be used:

$$\frac{\sum\_{j=1}^{u} \left(j-1\right)\left(n\_{\dot{j}} - m\_{\dot{j}}\right)}{\sum\_{j=1}^{u} \left(j-1\right)} > \frac{\sum\_{j=1}^{u} \left(n\_{\dot{j}} - m\_{\dot{j}}\right)}{u}.\tag{13}$$

#### 2.4. Estimation of accuracy of software reliability and security evaluation model

Authors of the absolute majority of reliability growth models do not provide any analytical assessment of their accuracy, which makes it difficult to select a specific model. This works allows excluding this drawback. The accuracy of the software reliability estimation can be characterized by the root-mean-square deviation. In order to obtain an accuracy estimation model, it is convenient to use the linearization method [24]. In this case, the root-mean-square deviation shall be defined according to the following equation:

$$\sigma\_{\dot{j}} = \left(\left(\mathrm{\dot{\alpha}P\_{\dot{j}}/\mathrm{\dot{\alpha}}P\_{0}\right)^{2}\delta\_{P\_{0}}^{2} + \ldots + \left(\mathrm{\dot{\alpha}P\_{\dot{j}}/\mathrm{\dot{\alpha}}a\_{\varepsilon}\right)^{2}\delta\_{a\_{\varepsilon}}^{2} + 2\left(\frac{\mathrm{\dot{\alpha}P\_{\dot{j}}}}{\mathrm{\dot{\alpha}P\_{0}}}\right)\left(\frac{\mathrm{\dot{\alpha}P\_{\dot{j}}}}{\mathrm{\dot{\alpha}P\_{\infty}}}\right)\delta\_{P\_{0}}\,\delta\_{P\_{\omega}}\,\rho\_{P\_{0}P\_{\omega}} + \ldots + \,\,\_{\prime} \tag{14}$$

where rxy is correlation factor of parameters x and y.

where wj <sup>¼</sup> nj�mj

N<sup>∞</sup> runs, and Kmax

Thus, if we assume that cP<sup>0</sup> , P

Pj � mj 1�Pj

154 Probabilistic Modeling in System Engineering

tical modeling method for logical intervals:

evaluations P0,P∞,a1, …, ae:

;α<sup>j</sup> <sup>¼</sup> <sup>Q</sup><sup>j</sup>

<sup>l</sup>¼<sup>1</sup> <sup>1</sup> �

P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli P<sup>∞</sup> � �

> P<sup>r</sup>þ<sup>1</sup> <sup>0</sup> � <sup>P</sup><sup>r</sup>

8 >><

>>:

<sup>0</sup> <sup>≤</sup> <sup>P</sup><sup>0</sup> <sup>≤</sup> <sup>1</sup> � <sup>M</sup><sup>0</sup>

1 �

<sup>1</sup> � <sup>M</sup><sup>∞</sup> N<sup>∞</sup> � �

1 Kie

ber of iterations will be required to calculate the function maximum).

mj nj

ln mj njPj þ

<sup>j</sup>¼<sup>1</sup> ð Þ <sup>j</sup> � <sup>1</sup> nj � mj

Iu <sup>¼</sup> <sup>X</sup><sup>u</sup> j¼1

number of completed software revisions.

likelihood method, the following ratio can be used:

P<sup>u</sup>

P<sup>u</sup>

8

>>>>>>>>><

>>>>>>>>>:

arþ<sup>1</sup> <sup>i</sup> � ar

<sup>P</sup><sup>r</sup>þ<sup>1</sup> <sup>∞</sup> � <sup>P</sup><sup>r</sup>

; <sup>β</sup><sup>j</sup> <sup>¼</sup> <sup>P</sup><sup>j</sup>

<sup>0</sup> ≤ 0:001;

<sup>∞</sup> ≤ 0:001;

<sup>i</sup> ≤ 0:0001:

Judging from the practical experience, the following accuracy is sufficient in order to define

Improving accuracy of parameters, ai (i ¼ 1, e) definition is related to their strong effect on the function Pj of reliability evaluation. Zero-order approximations can be found using the statis-

> N<sup>0</sup> � � ;

≤ P<sup>∞</sup> ≤ 1;

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi M∞N<sup>0</sup> N∞M<sup>0</sup>

where M<sup>0</sup> is the number of failures in the first N<sup>0</sup> runs, M<sup>∞</sup> is the number of failures in the last

specified intervals, we should perform a certain number of samples and select a set of parameters corresponding to the maximum likelihood function. This set shall be considered to be the desired initial values. As the experience shows, during the initial stages of tests, the general trend of software reliability increase due to modifications may not be present. This can lead to unreliable results obtained with the use of the maximum likelihood method (an infinite num-

In order to overcome this drawback, the method of relative entropy minimization can be used:

where mj is the number of failed runs of the total number nj of runs of j series and u is the

In order to check the necessary and sufficient condition for acceptability of the maximum

P<sup>u</sup>

<sup>j</sup>¼<sup>1</sup> nj � mj � �

� �

<sup>j</sup>¼<sup>1</sup> ð Þ <sup>j</sup> � <sup>1</sup> <sup>&</sup>gt;

nj � mj nj

!

<sup>i</sup> is the maximum value of kij when <sup>j</sup> <sup>¼</sup> <sup>1</sup>, u and Ki <sup>¼</sup> <sup>P</sup><sup>e</sup>

≤ ai ≤

1 Kmax <sup>i</sup> e ,

<sup>c</sup><sup>∞</sup> , <sup>a</sup>b<sup>1</sup> , …, <sup>a</sup>b<sup>e</sup> are random values distributed evenly on previously

ln nj � mj nj 1 � Pj � �

! s

l¼1

1� P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli=P<sup>∞</sup>

P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli

,γji <sup>¼</sup> <sup>P</sup><sup>j</sup>

<sup>i</sup>¼<sup>1</sup> kji.

, (12)

<sup>u</sup> : (13)

l¼1

1� P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli=P<sup>∞</sup> .

�kli

(11)

The following original calculated expressions were obtained in this work in order to get the values of partial derivatives of the reliability growth function:

$$\begin{cases} \frac{dP\_j}{dP\_0} = \alpha\_{j\prime} \\\\ \frac{dP\_\upsilon}{dP\_\infty} = \left(\frac{P\_0 - P\_\infty}{P\_\infty^2} \alpha\_j \beta\_j - \alpha\_j + 1\right); \\\\ \frac{dP\_j}{da\_i} = \frac{P\_0 - P\_\infty}{P\_\infty} \alpha\_j \gamma\_{j\prime} \end{cases} \tag{15}$$

where <sup>α</sup><sup>j</sup> <sup>¼</sup> <sup>Q</sup> j l¼1 1 � P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli P<sup>∞</sup> � �, <sup>β</sup><sup>j</sup> <sup>¼</sup> <sup>P</sup> j l¼1 P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli 1� P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli=P<sup>∞</sup> , and <sup>γ</sup>ji <sup>¼</sup> <sup>P</sup> j l¼1 �kli 1� P<sup>e</sup> <sup>i</sup>¼<sup>1</sup> aikli=P<sup>∞</sup> .

Other parameters of the formula can be defined from the covariance matrix that includes dispersions and correlation moments of the desired values:

$$\mathcal{K} = \begin{bmatrix} \delta\_{P\_0}^2 & \delta\_{P\_0} \delta\_{P\_n} \rho\_{P\_0 p\_n} & \dots \\ \delta\_{P\_0} \delta\_{P\_n} \rho\_{P\_0 p\_n} & \delta\_{P\_n}^2 & \dots & \delta\_{P\_n} \delta\_{d\_e} \rho\_{P\_{-d\_e}} \\ \dots & \dots & \dots & \dots \\ \delta\_{P\_0} \delta\_{d\_e} \rho\_{P\_0 d\_e} & \delta\_{P\_n} \delta\_{d\_e} \rho\_{P\_{-d\_e}} & \dots & \delta\_{d\_e}^2 \end{bmatrix} . \tag{16}$$

The following equation can be used for its formulation:

$$\mathcal{K} = -\mathcal{M}^{-1},$$

$$\mathcal{K} = \begin{array}{c} \end{array} \tag{17}$$

where M is matrix of the second partial derivatives of the likelihood function:

$$\mathbf{M} = \begin{bmatrix} \frac{\partial^2 \ln L\_u}{\partial \ P\_0^2} & \frac{\partial^2 \ln L\_u}{\partial \ P\_0 \mathcal{P}\_\infty} & \dots & \frac{\partial^2 \ln L\_u}{\partial \ P\_0 a\_\ell} \\\\ \dots & \dots & \dots & \dots \\ \frac{\partial^2 \ln L\_u}{\partial \ P\_0 a\_\ell} & \frac{\partial^2 \ln L\_u}{\partial \ P\_\infty a\_\ell} & \dots & \frac{\partial^2 \ln L\_u}{\partial \ a\_\ell^2} \end{bmatrix}. \tag{18}$$

The following original calculated expressions were obtained in this work in order to get second partial derivatives:

$$\begin{cases} \frac{d\ln L\_u}{dP\_0} = \sum\_{j=0}^u w\_j a\_{j\dot{\cdot}}\\ \frac{d\ln L\_u}{dP\_\infty} = \sum\_{j=1}^u \left( w\_j \left( \left( \frac{P\_0 - P\_\infty}{P\_\infty} a\_{j\dot{\cdot}} \beta\_j - \alpha\_{\dot{\cdot}} \right) + 1 \right) \right); \\\\ \frac{d\ln L\_u}{da\_i} = \sum\_{j=0}^u \left( w\_j \left( \frac{P\_0 - P\_\infty}{P\_\infty} a\_{j\dot{\cdot}} \gamma\_{j\dot{\cdot}} \right) \right). \end{cases} \tag{19}$$

where wj <sup>¼</sup> nj�mj Pj � mj 1�Pj .

#### 2.5. Software reliability and security evaluation algorithm

Figure 3 shows the algorithm of software reliability and security evaluation

#### 2.6. Input data normalization of the developed models

Nonstandard situations occurring in the course of the information system operation may lead to the disruption of specified input data, which, according to the second property of the software reliability, results in the inadequacy of obtained values. This situation occurs when invalid input data classes are used and the frequency of utilization of the input data classes does not correspond to the frequency that was used during testing or specified in the technical requirements. This may happen during trial operation aimed at performing accelerated tests of the software, due to the change of environment and in other cases. This situation can be taken into account by correcting the calculated reliability values. The correction can be done using the method of multiple factor analysis. In this case, the program input classes are broken into n equivalence classes. The function of reliability value dependence on frequency nj of application of equivalency classes is calculated:

$$P^{\mu} = \beta\_0 + \sum\_{i=1}^{n} \beta\_i \mathbf{x}\_i + \sum\_{i \neq j}^{n} \beta\_{ij} \mathbf{x}\_i \mathbf{x}\_j + \sum\_{i=0}^{n} \beta\_{ii} \mathbf{x}\_j^2 \dots \tag{20}$$

where xi is the frequency of application of i-class of input data and β<sup>i</sup> is the significance ratio of i-class of input data.

The study has shown that first-order polynomial is sufficient for correction:

$$P^{\mu} = \beta\_0 + \sum\_{i \neq j}^{n} \beta\_{ij} \mathbf{x}\_i \mathbf{x}\_j \tag{21}$$

Figure 3. Software reliability and security evaluation algorithm.

Models for Testing Modifiable Systems http://dx.doi.org/10.5772/intechopen.75126 157

where xi is the frequency of application of fig-class of input data and β<sup>i</sup> is the significance ratio of i-class of input data.

Figure 3. Software reliability and security evaluation algorithm.

The following original calculated expressions were obtained in this work in order to get second

P<sup>0</sup> � P<sup>∞</sup> P<sup>∞</sup>

P<sup>0</sup> � P<sup>∞</sup> P<sup>∞</sup>

Nonstandard situations occurring in the course of the information system operation may lead to the disruption of specified input data, which, according to the second property of the software reliability, results in the inadequacy of obtained values. This situation occurs when invalid input data classes are used and the frequency of utilization of the input data classes does not correspond to the frequency that was used during testing or specified in the technical requirements. This may happen during trial operation aimed at performing accelerated tests of the software, due to the change of environment and in other cases. This situation can be taken into account by correcting the calculated reliability values. The correction can be done using the method of multiple factor analysis. In this case, the program input classes are broken into n equivalence classes. The function of reliability value dependence on frequency nj of application

� � � �

αjβ<sup>j</sup> � α<sup>j</sup> � �

,

� � � �

α<sup>j</sup> γji

þ 1

;

(19)

partial derivatives:

156 Probabilistic Modeling in System Engineering

where wj <sup>¼</sup> nj�mj

dlnLu dP<sup>0</sup>

8

>>>>>>>>>><

>>>>>>>>>>:

Pj � mj 1�Pj .

of equivalency classes is calculated:

i-class of input data.

of i-class of input data.

dlnLu dP<sup>∞</sup>

dlnLu dai

2.5. Software reliability and security evaluation algorithm

2.6. Input data normalization of the developed models

<sup>P</sup><sup>u</sup> <sup>¼</sup> <sup>β</sup><sup>0</sup> <sup>þ</sup>X<sup>n</sup>

i¼1 βi

The study has shown that first-order polynomial is sufficient for correction:

xi <sup>þ</sup>X<sup>n</sup> i6¼j

<sup>P</sup><sup>u</sup> <sup>¼</sup> <sup>β</sup><sup>0</sup> <sup>þ</sup>X<sup>n</sup>

where xi is the frequency of application of i-class of input data and β<sup>i</sup> is the significance ratio of

i6¼j

where xi is the frequency of application of fig-class of input data and β<sup>i</sup> is the significance ratio

<sup>β</sup>ijxixj <sup>þ</sup>X<sup>n</sup>

i¼0

<sup>β</sup>iix<sup>2</sup>

<sup>j</sup> …, (20)

βijxixj, (21)

<sup>¼</sup> <sup>X</sup><sup>u</sup> j¼0 wjaj;

<sup>¼</sup> <sup>X</sup><sup>u</sup> j¼1

<sup>¼</sup> <sup>X</sup><sup>u</sup> j¼0

wj

wj

Figure 3 shows the algorithm of software reliability and security evaluation

This model has two unknown parameters that can be easily found with the help of the least squares methods.
