<!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>
      <journal-title-group>
        <journal-title>Proceedings</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.18287/1613-0073-2015-1490-252</article-id>
      <title-group>
        <article-title>Method of UNIT testing for algorithms of computing software modules</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kovartsev A.N.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Popova-Kovartseva D.A.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gorshkova E.E.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Samara State Aerospace University</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <volume>1490</volume>
      <fpage>252</fpage>
      <lpage>261</lpage>
      <abstract>
        <p>The method of automating Unit testing processes for computing software modules is considered in the paper. Modern means of testing automation, which are analyzed in many scientific studies, specialize mainly in testing graphical user interfaces, web-interfaces, network communications, information systems, etc., which is the result of a huge demand in the market for software products within these spheres. Software modules of computing character are overshadowed by such products despite the fact that these modules have considerable scientific and practical value. They deal mostly with high tech spheres: aerospace cluster, energy industry, defense complex, etc. The article presents an original method of Unit testing for computing modules based on the algorithm of global search for infinite discontinuity points of testing function, which allows to find fatal errors in computing software modules, as well as incorrectness in implementation of algorithms for mathematical models. The universal method of Unit testing is offered within the class of computing modules, which helps to minimize the time for program debugging and to find fatal errors with less effort, as well as to organize total module testing for all modules of the program.</p>
      </abstract>
      <kwd-group>
        <kwd>Unit testing</kwd>
        <kwd>testing automation</kwd>
        <kwd>computing software modules</kwd>
        <kwd>global optimization</kwd>
        <kwd>fatal errors</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        systems, etc. This results from the huge demand in the market for software products
within these spheres. Software modules of computing character are overshadowed by
such products despite the fact that these modules have considerable scientific and
practical value. They deal mostly with high tech spheres [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]: aerospace cluster,
energy industry, defense complex, etc.
      </p>
      <p>
        Testing is the method of providing the required level of SW quality. In the
general sense, software testing is the process that allows to determine the correctness,
completeness and quality of the developed software product. Unfortunately, it is
impossible to determine unambiguously whether the analyzed program functions
correctly or not, as well as to guarantee the absence of defects in a software product
because human factor problems may appear at all SW lifecycle stages [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Therefore,
all existing testing methods operate within private formal methods of testing
organized for the analyzed product. The list of modern methods and approaches for
solving the problem of program testing is extensive and diverse. On the one hand, this
diversity is determined by the current practice of using a computer while solving a
variety of problems and, accordingly, by the specific features of software products
themselves.
      </p>
      <p>
        The class of computing software modules (CSM), based on the use of
mathematical models, has some specific features. Such programs, carried out on a
computer, are sure to calculate any function that realizes the display output of input
data. This implies that a computer by means of its resources finishes the definition of
a partly determined function, which results in complete definition. Consequently, it is
possible to estimate if the results of program execution are right or wrong only by
comparing the specification of the expected function with the results of its
calculation; this is carried out in the testing process. For the class of computing
software modules, methods of Unit testing [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] and test tools based on models using
formal methods [
        <xref ref-type="bibr" rid="ref4 ref6">4,6</xref>
        ] are more suitable.
      </p>
      <p>
        Formal methods usually allow to solve a limited range of testing software tasks
within a particular class, however, they are able to work effectively in industrial
projects and require a minimum number of special skills and knowledge so that to be
used [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Currently, within monitoring the formal properties of SW, methods of test
construction are thoroughly developed on the basis of finite-state automation [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ].
For them, accuracy characteristics and evaluation of completeness of performed tests
are known. In these techniques, computing route is analyzed not only for performing
some formulae, but also for coordination with the specified automation model of the
proper behavior. Nowadays these methods are rarely used, mainly for monitoring
small critical applications [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Formal methods are rather “heavy-weight”, they
require well-qualified specialists, at least at the stage of software modeling. The weak
point of formal methods is the need to construct the model itself on the parallel basis
and to check its correctness.
      </p>
      <p>The practice of industrial software production shows that the most effective
strategy is to search and correct as many errors as possible at the earliest stage of
software development. Methods of Unit testing are appropriate for this purpose. Unit
testing consists in checking the software performance on a set of input and
corresponding output data. This approach allows to reveal a significant number of
errors and locate them quickly as it is easier to find an error within a module than to
do it within the whole project. CSM can be easily interpreted with a vector
computable function  =  ( ) = ( 1( ),  2( ), … , ( )) , having a set of input
parameters  = ( 1,  2, … ,   ) of the module and a set of calculated data  =
( 1,  2, … ,   ) .</p>
      <p>The origin of errors for CSM is extensive and diverse. Errors occur when initial
and boundary conditions, which characterize the value and location of external
factors, are set incorrectly. They may be related with a set of limitations and
assumptions resulting from the physical nature of the object and limiting the range of
input parameters.</p>
      <p>Among the errors of this kind for CSM, two most common groups can be
distinguished: calculation errors and logical (algorithmic) errors. Calculation errors
are mostly connected with incorrect recording or programming of mathematical
expressions and manifest themselves as arithmetic error of division by 0, the square
root of a negative number, as calculation of rational or transcendental functions, etc.
They can only be detected while executing the program and lead to program stoppage.</p>
      <p>
        Logical errors are connected with the distortion of problem solving algorithm
and result from incorrect problem setting, wrong consideration of all conditions for
solving the problem, incorrect management organization within CSM, and errors in
the input of logical expressions. These errors are difficult to correct, corrections often
being made with the help of formal methods [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        Nevertheless, there is a universal method for detecting errors of calculating and
partly logical character in computing software modules [
        <xref ref-type="bibr" rid="ref3 ref9">3, 9</xref>
        ]. This method is based
on the fact that all computing modules, implemented as a program, “work” within
integrity of used functions or mathematical models. Otherwise, the program can’t be
used. If we organize the search for infinite discontinuity of the function by some
means, we will be able to detect all calculating errors of any origin mentioned above.
Relatively “simple” methods of global optimization (GO) of multivariable functions
are appropriate for this purpose[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>In this paper we consider the improved algorithm of global search for points of
discontinuity of the second type, intended for detecting error situations in the software
modules of computing character. This algorithm is the basis of Unit testing for
computing software modules.</p>
    </sec>
    <sec id="sec-2">
      <title>1. Problem Statement</title>
      <p>
        Let the area of error search in computing module be a unit cube (in general –
hypercube) П  [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ][
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ][
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ] , which is proportionally divided into eight
smaller cubes.
      </p>
      <p>Unit testing algorithm of computing modules, formally described by vector
function  =  ( ), can be put as the problem of global optimization
max fk2 ( X ),</p>
      <p>X</p>
      <p>k  1,..., m,
which is aimed at detecting (or ensuring the absence of) discontinuity points of the
second type in the examined function. The infinite discontinuity   is realized in
numbers marked by code NaN on a computer; in fact we can specify the upper limit
(1)
where  – estimation of Lipschitz constant, which is calculated in the process of
function extremum search:</p>
      <p>M  0,
  1 M  max zi  zi1 ,</p>
      <p>rM M  0, i ( xi  xi1)
where r – parameter.</p>
      <p>The condition of Lipschitz for optimized function simplifies greatly the search
for function extremum as the limitation of function growth degree allows to find local
extremum vicinity quickly. However, while searching for a set of infinite
discontinuity, areas of function monotony as well as extremum vicinity are equally
useless. It is much more important to determine the criteria which will be responsive
to the fast increase and decrease of function.</p>
      <p>
        Nowadays, mathematical aspects of function behavior in vicinities of
discontinuity points are not analyzed thoroughly, which complicates detecting
function discontinuity presence while analyzing its behavior on local continuous
sections. The paper [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] offers the characteristic function, created by analogy with
(2), but it is more adapted to solve the task of search for infinite discontinuities points.
The following characteristic function is offered to use:
of acceptable values |  ( )| ≤   ( ) or each calculating parameter of a module. To
simplify the situation, we will further consider scalar function  ( ) =    2( ).
      </p>
      <p>
        Among the well-known one-parameter methods of multiextremal optimization,
R.G. Strongin statistic information method is the most effective [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The method is
based on the use of approximate posterior probability distribution of global extremum
location, which is formed in the process of function testing, which allows to realize a
more balanced strategy to search for function global minimum. This strategy is so
effective that it is often transferred from one-dimensional case to multivariable
function optimization.
      </p>
      <p>
        It is shown in the paper [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] that function extremum search is realized by
maximizing a simple characteristic function:
R(i)  (d 2 f ( Xic ))2 D ,
r
i
where    – the centre of a cube,   – cube diagonal of search algorithm, r – scaling
parameter.
      </p>
      <p>
        The second differential of function can be calculated with the help of
interpolation of initial function using Newton’s first interpolation formula [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] for full
factorial plan 3 [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Then, using  2,2,2( ) it is easy to calculate  2 ( ) ≈
 2 2,2,2( ).
      </p>
      <p>In search algorithm, there is a proportional division of search area into smaller
parts: the unit interval – into 2 parts; square – into 4 parts, cube – into 8 parts, etc. Fig.
1 shows a diagram of search area division for two-dimensional case. We will consider
the three-dimensional case further in order to present a good illustration.
(2)
(3)</p>
      <p>
        Construction of interpolating polynomial for multidimensional case can be
realized as follows.
 = ‖  ‖( ,  ,  = 0,1,2)
is the matrix of testing function values at nodal points of full factorial plan 3 . We
introduce new variables  =  1−ℎ 1(0) ;  =  2−ℎ 2(0) ;  =  3−ℎ 3(0). The starting point of
interpolation grid is  (0) = ( 1(0),  2(0),  3(0); h – the step of interpolation grid.
Newton’s interpolation polynomial is to be calculated in the form of matrix. Symbols
of multidimensional matrix and content of main operations are borrowed from the
paper [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. To do this, we need to calculate the matrix of finite differences  ̃.
1r z 2rr z 1q z 1qr1z 1qr2rz 2qqz 2qq1rz 2qq2rrz (4)
1pr1z 1pr2rz 1qp1z 1qp1r1z 1qp1rr2z 2qq1pz 2qq1pr1z 2qq1pr2r z
2pp1rz
2pp2rrz 1qp2pz
1qp2pr1z
1qp2pr2r z 2qq2ppz
2qq2pp1rz
2qq2pp2rrz
Here α= 000. We introduce a vector
Q  (1 q
P  (1 p
R  (1 r
q(q 1) / 2);
p( p 1) / 2);
r(r 1) / 2).
      </p>
      <p>
        Considering (, ) -convoluted product of vectors Q, P, R with λ = 0, µ= 0, we get
the matrix of independent variables
 ̃ =  = ‖  ∙   ∙   ‖ ( ,  ,  = 0,1,2 (6)
Thus, Newton’s interpolation polynomial has the following matrix form
P2,2,2 ( X ) 3 Z~ X~  
c0 ,c1,c30
2 ~ ~
 Zc0c1c2  X c0c1c2 ,
(5)
(6)
where c  (c0, c1, c2 ) – Caylean summation index [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>The elements of matrix (4) can be calculated using the definition of finite
differences of corresponding orders.</p>
      <p>To calculate partial derivatives we need vectors
 ′ = (0 1  − 0.5)′;  ; = (0 1  − 0.5)′;  ′ = (0 1  − 0.5)′;  ′′ =  ′′ =
 ′′ = (0 0 1)′,
then</p>
      <p>1 1 1
Px ( X ) 3 (Z~ (QPR)) ; Px2 ( X ) 3 (Z~ (QPR)) ; Px3 ( X ) 3 (Z~ (QPR)) ,
1 h h h
and the second derivatives:</p>
      <p>1 1 1
Px1x1 ( X ) 3 (Z~ (QPR)) 2 ; Px2x2 ( X ) 3 (Z~ (QPR)) 2 ; Px3x3 ( X ) 3 (Z~ (QPR)) 2 .</p>
      <p>h h h</p>
      <p>Now it is easy to calculate the value of the second differential in the centers of
each eight cubes of original search area partition:
d 2 f (Xic )  (Px1x1 (Xic )  Px2x2 (Xic )  Px3x3 (Xic )  2(Px1x2 (Xic )  Px1x3 (Xic )  Px2x3 (Xic )))h2.</p>
      <p>The value of characteristic function is calculated for each of new cubes, which
are written onto the line ordered list in descending order of values. At each stage of
search algorithm for discontinuity points of testing function, the first item on the list is
chosen – a cube with maximum value of characteristic function, which is subjected to
further division. The algorithm works till the condition of algorithm stoppage appears:
(max|  | &gt;   )˅(  ℎ &lt;  ). This condition of algorithm stoppage ensures the
completion of its work if the value of testing function is outside function domain or
the given density of viewing the original area of testing function is reached.</p>
    </sec>
    <sec id="sec-3">
      <title>2. Examples of using the proposed method of Unit testing for computing modules</title>
    </sec>
    <sec id="sec-4">
      <title>2.1. Method testing with model examples</title>
      <p>
        The proposed testing method of CSM got its name as finite differences method
(FDM) due to the use of finite differences of the function. The efficiency of its work
can be evaluated by means of discontinuous function – Kovartsev’s test [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ],
specially developed for this case, and a set of test functions generated by the GKLS
generator [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The first test is characterized by a single discontinuity point (which is
difficult to detect) added to linear combination of error functions. The second one is a
continuous function with a large number of local extrema. Test functions are
presented in Table 1.
      </p>
      <p>
        In literature, the efficiency of search algorithms is usually evaluated using the
operating characteristics machine [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Operating characteristic is the dependence of
error detection probability   on the amount of calls to the tested function   .
      </p>
      <p>
        Since the second-order discontinuity points can be found by any of the global
optimization algorithms, the efficiency of the proposed FDM algorithm was compared
with the efficiency of direct GO method, for example, the modified bisection method
(BM) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
GKLS test functions.
      </p>
      <p>Continuous twice differentiable function. 10 local
extrema. One global extremum. Points of
discontinuity are not observed.</p>
      <p>General view</p>
      <p>The operating characteristics of FDM and BM methods are shown in Fig. 2.
They are created for test function 1 which has a local discontinuity point of the second
type (see Table 1). As we can see from fig. 2, the efficiency of the proposed algorithm
is much greater than the efficiency of the bisection method. In Fig. 2 the solid line
indicates operating characteristics of FDM algorithm, the dashed one indicates
characteristics of BM algorithm. It happens because the bisection method is focused on
the optimization of continuous functions, which leads to a more detailed analysis of the
function areas when Lipschitz constant evaluation increases. This situation occurs
every time when the function is calculated near the points of its discontinuity. By
contrast, FDM method is oriented on looking for areas of rapid growth of the test
function.</p>
      <p>The situation changes if FDM method “works” with continuous function. Figure
3 shows the operating characteristics of these methods, created for continuous GKLS
test function.</p>
      <p>The figure illustrates the fact that the efficiency of FDM algorithm for continuous
functions is much lower than the efficiency of BM algorithm. If we have continuous
functions with no discontinuity points of the second type (test software module has no
errors), the finite difference method is forced to examine thoroughly the space of the
optimized variables.</p>
    </sec>
    <sec id="sec-5">
      <title>2.2. Testing of software modules for calculating acoustic characteristics of gas pressure regulator</title>
      <p>
        This part presents the results of Unit testing for computing models included in
the program that realizes the optimization of gas pressure regulator (GPR) parameters
with use of orifice plates [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].Significant changes in pressure during orificing and
speed acceleration generate the noise which accompanies the work of these machines.
This noise exceeds the established health standards. Rational choice of orifice flow
area (and their quantity) can significantly reduce the noise level of this device [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
Gn1  Gn  0,
(7)
  – gas flow through the valve,   – gas flow through i-orifice plate. When the
input parameters of module are given, for example,   ,   +1– pressure before and after
orifice plate correspondingly;   – areas of i-orifice flow, etc. we can calculate gas
mass flux through orifice and as a result – acoustic power generated by orifice plate
[
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>We used a rather simple module for calculating the orifice flow capacity (  ) in
order to calculate the gas mass flux through orifice. Testing the module by FDM
method with approximately 200 calls to the module revealed methodological error in
the algorithm model. It turned out that if   →   +1 −   → ∞, and   &lt;   +1, flow
capacity is indefinite (error code NaN occurs).</p>
      <p>Certainly, it would be possible to require the calculation with this module
  (  ,   +1) to be carried out only in accordance with the condition   &gt;   +1, which
is natural for this type of device. But how can it be realized when numerical method
for solving systems of nonlinear equations (8) generates the values of independent
variables at each iteration on its own, not taking into consideration the above
mentioned circumstances? The easiest way to solve the problem is the artificial
replacement of function infinite discontinuity   (  ,   +1) with a larger but finite
discontinuity, and extension of definition by “penalty” value where it is indefinite. In
this case, the algorithm for solving systems of nonlinear equations is to find solutions
on its own, “starting with” “dysfunctional” combinations of independent variables.</p>
      <p>High speed of detecting fallible combinations of FDM independent variables in
this example can be explained by the fact that at the first stage of work, when the area
of rapid function growth is not detected, FDM distributes test points of testing
function in the search area. Since function   (  ,   +1) has significant areas of
uncertainty, FDM finds them quickly.</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>The paper offers an original method of Unit testing for computing modules,
based on the algorithm of global search for infinite discontinuity of the testing
function, which allows to detect fatal errors in software computing modules, as well
as incorrectness in implementation of mathematical models of algorithms.</p>
      <p>The proposed scheme of accelerating algorithms for global optimization applied
to the search for points of discontinuity of the second order has confirmed completely
its viability with model and real examples. The basic idea of FDM algorithm is to
introduce a new heuristic characteristic function to the classical algorithm of global
optimization. The new function is based on the analysis of Strongin characteristic
function and takes into account the problem matters being solved. FDM algorithm is
the universal method of Unit testing for the class of computing modules. The
application of this method leads to the reduction of time for debugging, helps to find
fatal errors with less effort, and, as a result, to organize total testing of all program
modules.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Dastin</surname>
            <given-names>E</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reshka</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paul</surname>
            <given-names>D.</given-names>
          </string-name>
          <article-title>Automatic software testing. Application, operation and maintenance</article-title>
          . Moscow: Lori,
          <year>2003</year>
          ; 567 p. [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Lipaev</surname>
            <given-names>VV</given-names>
          </string-name>
          .
          <article-title>Program testing</article-title>
          . M.: Radio and connection,
          <year>1986</year>
          ; 296 p. [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kovartsev</surname>
            <given-names>AN</given-names>
          </string-name>
          .
          <article-title>Automation of software development and testing</article-title>
          . Samara State Aerospace University,
          <year>1999</year>
          ; 148 p. [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kuliamin</surname>
            <given-names>VV</given-names>
          </string-name>
          .
          <article-title>Software verification methods</article-title>
          . Source: &lt;http://panda.ispras.ru/~kuliamin/docs/VerMethods-2008-ru.pdf &gt;
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Kovartsev</surname>
            <given-names>AN</given-names>
          </string-name>
          .
          <article-title>An efficient algorithm for testing the truth of assertions for real numbers expressed in relational signatures</article-title>
          .
          <source>Computer Optics</source>
          ,
          <year>2014</year>
          ;
          <volume>38</volume>
          (
          <issue>3</issue>
          ):
          <fpage>550</fpage>
          -
          <lpage>554</lpage>
          . [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Heitmeyer</surname>
            <given-names>C</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Archer</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bharadwaj</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jeffords</surname>
            <given-names>R</given-names>
          </string-name>
          .
          <article-title>Tools for constructing requirements specifications: The SCR toolset at the age of ten</article-title>
          .
          <source>Journal of Computer Systems Science and Engineering</source>
          ,
          <year>2005</year>
          ;
          <volume>20</volume>
          (
          <issue>1</issue>
          ):
          <fpage>19</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Farchi</surname>
            <given-names>E</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hartman</surname>
            <given-names>F</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pinter</surname>
            <given-names>SS</given-names>
          </string-name>
          .
          <article-title>Using a model-based test generator to test for standard conformance</article-title>
          .
          <source>IBM Systems Journal</source>
          ,
          <year>2002</year>
          ;
          <volume>41</volume>
          (
          <issue>1</issue>
          ):
          <fpage>89</fpage>
          -
          <lpage>110</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Cavalli</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gervy</surname>
            <given-names>C</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prokopenko S</surname>
          </string-name>
          .
          <article-title>New approaches for passive testing using an Extended Finite State Machine specification</article-title>
          .
          <source>Information and Software Technology</source>
          ,
          <year>2003</year>
          ;
          <volume>45</volume>
          (
          <issue>12</issue>
          ):
          <fpage>837</fpage>
          -
          <lpage>852</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kovartsev</surname>
            <given-names>AN</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Logvinov</surname>
            <given-names>AL</given-names>
          </string-name>
          .
          <article-title>Efficiency improvement of testing algorithms for computing modules</article-title>
          .
          <source>Journal of Telecommunication systems</source>
          ,
          <year>2004</year>
          ;
          <fpage>4</fpage>
          . [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Strongin</surname>
            <given-names>RG</given-names>
          </string-name>
          .
          <article-title>Search for global optimum</article-title>
          . Moscow: Znanie,
          <year>1990</year>
          . [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kovartsev</surname>
            <given-names>AN</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Popova-Kovartseva</surname>
            <given-names>DA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serpovskaya</surname>
            <given-names>EE</given-names>
          </string-name>
          .
          <article-title>Testing mathematical models of computing algorithms based on global optimization method</article-title>
          .
          <source>Information technology and nanotechnologies. SSAU</source>
          ,
          <year>2015</year>
          ;
          <fpage>191</fpage>
          -
          <lpage>196</lpage>
          . [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Kovartsev</surname>
            <given-names>AN</given-names>
          </string-name>
          .
          <source>Computational mathematical. Samara: Ofort</source>
          ,
          <year>2011</year>
          ; 230 p. [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Ermakov</surname>
            <given-names>SM</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhigliavsky</surname>
            <given-names>AA</given-names>
          </string-name>
          .
          <article-title>Mathematical theory of optimal experiment operation</article-title>
          . Moscow: Nauka,
          <year>1987</year>
          ; 320 p. [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Sokolov</surname>
            <given-names>NP</given-names>
          </string-name>
          .
          <article-title>Introduction to multidimensional matrix theory</article-title>
          . Kiev: Nukova dumka,
          <year>1972</year>
          ; 177 p. [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Gaviano</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kvasov</surname>
            <given-names>DE</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lera</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sergeyev YaD</surname>
          </string-name>
          .
          <article-title>Software for generation of classes of test functions with known local and global minima for global optimization</article-title>
          .
          <source>ACM TOMS</source>
          ,
          <year>2003</year>
          ;
          <volume>29</volume>
          (
          <issue>4</issue>
          ):
          <fpage>469</fpage>
          -
          <lpage>480</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Gergel</surname>
            <given-names>VP</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strongin</surname>
            <given-names>RG</given-names>
          </string-name>
          .
          <article-title>Absolute. Software system for global optimization method studying</article-title>
          .
          <source>Textbook</source>
          . Nizhny Novgorod: Nizhegorodsky University Press,
          <year>1998</year>
          ; 141 p. [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Kovartsev</surname>
            <given-names>AN</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Popova-Kovartseva</surname>
            <given-names>DA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abolmasov</surname>
            <given-names>PV</given-names>
          </string-name>
          .
          <article-title>Efficiency study of global parallel optimization for multivariable function</article-title>
          .
          <source>Vestnik NNGU</source>
          ,
          <year>2013</year>
          ;
          <volume>3</volume>
          (
          <issue>1</issue>
          ):
          <fpage>252</fpage>
          -
          <lpage>261</lpage>
          . [in Russian]
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Igolkin</surname>
            <given-names>АА</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kruchkovа</surname>
            <given-names>AN</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koh</surname>
            <given-names>AI</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Safin</surname>
            <given-names>AI</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shakhmatov</surname>
            <given-names>EV</given-names>
          </string-name>
          .
          <article-title>Pressure reducing valve noise reduction</article-title>
          .
          <source>Proceedings of the Nineteen International Congress on Sound and Vibration (ICSV 19)</source>
          .
          <source>The international institute of Acoustics and Vibration</source>
          ,
          <year>2012</year>
          , July 08- 12.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Istvan</surname>
            <given-names>L</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beranek</surname>
            <given-names>V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beranek</surname>
            <given-names>L</given-names>
          </string-name>
          .
          <article-title>Noise and vibration control engineering. Second edition. Principles and applications</article-title>
          . Published by Wiley and Sons, Inc,
          <year>2006</year>
          ; 966 p.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Meszaros</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>xUnit test patterns: rafactoring test code</article-title>
          . U.S. at Courier in Wesrford, Massachusetts,
          <year>2009</year>
          ; 835 p.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Karczub</surname>
            <given-names>DG</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Catron</surname>
            <given-names>FW</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Allen</surname>
            <given-names>C</given-names>
          </string-name>
          .
          <article-title>Blow-down valve noise and interactions with down stream orifice plates</article-title>
          .
          <source>Fagerlund Proceedings of IMECE'03</source>
          . ASME International Mechanical Engineering Congress,
          <year>2003</year>
          ;
          <fpage>43</fpage>
          -
          <lpage>49</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>