<!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>Industrial software verification and testing technology</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>P.D. Drobintsev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V.P. Kotlyarov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ph.D.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>prof.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>SPbPU vpk@ics</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>.ecd.spbstu.ru</string-name>
          <email>drob2@ics2.ecd.spbstu.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>I.A. Selin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Academician ,Glushkov Instiute of Cybernetic</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Assistant</institution>
          ,
          <addr-line>SPbPU</addr-line>
        </aff>
      </contrib-group>
      <fpage>221</fpage>
      <lpage>229</lpage>
      <abstract>
        <p>This paper is devoted to technology of automating full cycle of software development from natural language processed formalized requirements and their analysis with symbolic verification to tests generation and execution. Suggested technology is capable of checking semantic consistency of requirements in generated code of target application. Primary target areas of technology applicability are telecommunication and distributed systems, but other types of applications can also be developed using the technology.</p>
      </abstract>
      <kwd-group>
        <kwd>Software quality assurance</kwd>
        <kwd>formal model</kwd>
        <kwd>verification</kwd>
        <kwd>testing automation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>One of the main problems in the development and test automation of industrial
applications’ software is handling of complicated and large scale requirements
specifications. Documents specifying requirements specifications are generally written in
natural language and may contain hundreds and thousands of requirements. Thereby the
task of requirements formalization to describe behavioral scenarios used for
development of automatic tests or manual test procedures is characterized as a task of large
complexity and laboriousness.</p>
      <p>
        Agile methodologies are used more and more often by the software developers.
There are different ones: Scrum[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], eXtreme Programming (XP)[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], Adaptive
Software Development (ASD)[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and Crystal[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], but at the core they all have iterative
build-up of functionality and releases at the end of every sprint (which usually lasts
about several weeks)[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Requirements for the system may change during the
development, creating difficulties in checking certain release. As said by B. Mayer, main
achievement of agile is establishment of tests and mainly regression tests as an
essential part of a development process [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        In this paper, an approach is proposed for creating an effective verification and
automated testing technology, which should be used all along the development process.
Tests are a part of a project, just as the system code is, and recommended by every
agile methodology listed above. Usually the mandatory checks are run on unit tests,
which are verifying small parts of the code before integration into main development
branch, and functional tests, which are verifying typical scenarios and use cases from
the user point-of-view [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. But this information is insufficient for checking the system
behavior, because scenarios and use cases are not taking into account the environment
and all possible software settings. There is always a possibility that on some data
system will behave incorrectly and it will not be checked by the test suite. A lot of
software failures are bonded to special cases which were not covered by tests [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>This is a common situation, when software developers just do not have enough
time or resources to properly test the system in non-standard cases, estimate the
dangers of “copy-paste” from one module to another and other types of behavior where
checking could take a lot of time and requires a thoughtful code analysis of possible
negative outcome.</p>
      <p>Because in agile methodologies the development of design specification is
omitted, the requirements will take the brunt and thus must be created as good as possible.
Thereby the task of requirements formalization to describe behavioral scenarios used
for development of automatic tests or manual test procedures is characterized as a task
of large complexity and laboriousness.</p>
      <p>
        Applicability of formal methods in the industry is determined to a great extent by
how adequate is the formalization language to accepted engineering practice which
involves not only code developers and testers but also customers, project managers,
marketers and other specialists. It is clear that no logic language is suitable for
adequate formalization of requirements which would keep the semantics of the
application under development and at the same time would satisfy all concerned people [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>In modern project documentation the formulation of initial requirements is
presented either in constructive way, when checking procedure or scenario of requirement
fulfillment can be constructed from the text of this requirement in natural language, or
unconstructively, when functionality described in the requirement does not contain
any explanation of its checking method.</p>
      <p>For example, behavioral requirements of telecommunication applications in case of
described scenario of requirements coverage are constructively specified and allow
using of verification and testing to check requirements implementation in software.
Non-behavioral requirements are usually unconstructively specified and require
additional information during formalization which allows reconstructing the checking
scenario, i.e. converting of non-constructive format of requirements specification into
constructive one.</p>
    </sec>
    <sec id="sec-2">
      <title>Requirements coverage checking</title>
      <p>The procedure of requirement checking is exact sequence of causes and results of
some activities (coded with actions, signals, states), which analysis may prove that
current requirement is either covered or not. Such checking procedure can be used as
a criterion of coverage of specific requirement, i.e. it can become a so-called criteria
procedure. In the text below a sequence or “chain” of events will be used for criteria
procedure.</p>
      <p>Tracking the facts of criteria procedure coverage in system’s behavioral scenario
(hypothetical, implemented in the model or real system), it can be asserted that the
corresponding requirement is satisfied in the system under analysis.</p>
      <p>
        Procedure of requirement checking (chain) is formulated by providing the
following information for all chain elements (events):
• conditions (causes), required for activation of some activity;
• the activity itself, which shall be executed under current conditions;
• consequences – observable (measurable) results of activity execution.
Causes and results are described with signals, messages or transactions, commonly
used in reactive system’s instances communications [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], as well as variables states in
form of values or limitations on region of admissible values. Tracking states’ changes,
produced by chains activities it’s possible to observe the coverage of corresponding
chains. While analysis it is acceptably to consider a direct transition from a state into
a state with a null activity, and in case of non-determinism – alternative variants of
states choices and changes.
      </p>
      <p>Problems with unconstructive formulating of requirements are resolved by
development of requirement coverage checking procedures on user interfaces or
intercomponent interfaces.</p>
      <p>Thus, chains containing sequences of events can appear as criteria of requirements
coverage; in addition, it is possible that criterion of some requirement coverage is
specified not with one, but with several chains.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Initial documents specifying application requirements</title>
      <p>Usually initial requirements in technical documentation are formulated in natural
language and can be presented in one of the following form:
• in form of behavioral requirement, scenario (procedure) of requirement checking
can be retrieved based on requirement text;
• in form of non behavior requirement, only structure and sense of requirement can
be retrieved without information about requirement checking.</p>
      <p>
        Any behavioral requirement can be formalized with further automatic analysis; for
this purposes VRS/TAT technology [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] can be used.
      </p>
      <p>
        In VRS/TAT technology Use Case Maps (UCM) notation [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] (Fig. 1) is used for
high-level description of the model, while tools for automation of checking and
generation work with model in basic protocols language [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>UCM model (Fig.1) contains two interacting instances model description. Each path
on the graph from the event “start” to the event “end” represents one behavioral
scenario. Each path contains specified number of events (Responsibilities). Events on the
diagram are marked with × symbol, while Stub elements which encode inserted
diagram – with ♦ symbol. As a result, each scenario contains specified sequence of
events. Varieties of possible scenarios are specified with variety of such sequences.</p>
      <p>In these terms a chain is defined as subsequence of events which are enough to
make a conclusion that the requirement is satisfied. A path on the UCM diagram,
containing the sequence of events of some chain, is called trace, covering the
corresponding requirement. Based on the trace the tests can be generated which are needed
for experimental evidence of the requirement coverage.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Traceability matrix</title>
      <p>
        Verification project requirements formalization starts with creation of Traceability
matrix (TRM) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. “Identifier” and “Requirements” columns contain requirement’s
identifier, used in the initial document with requirements, and text of the requirement,
which shall be formalized. “Traceability” column contains chains of events sufficient
for checking of corresponding requirement coverage and “Traces” column with traces
or behavioral scenarios used for tests code generation.
4.1
      </p>
      <sec id="sec-4-1">
        <title>Development integral criteria of requirements coverage</title>
        <p>The distinctive feature of VRS/TAT technology – special criteria of each
requirement’s coverage checking. Below all criteria related to requirements are listed in
ascending order of their strength:
1. Events criterion - coverage level in generated scenarios of subset of events used in
criteria chains.
2. Chains criterion - coverage level in generated scenarios of subset of chains
(consisting of events and states of variables) with at least one for each requirement.
3. Complex criterion - coverage level in generated scenarios of the whole set of
chains specifying integral criteria (combined from criteria 1 and 2) of requirements
coverage.</p>
        <p>
          Criteria development shall be adaptive to specific project [
          <xref ref-type="bibr" rid="ref13 ref19 ref20">13, 19, 20</xref>
          ]. Criteria shall
be applied flexibly and can be changed according to conditions of scenarios
generation.
4.2
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Generating and selecting scenarios which satisfy to specified coverage criteria</title>
        <p>
          Model-checking based technique is used to generate symbolic and concrete traces
(STG and CTG) [
          <xref ref-type="bibr" rid="ref14 ref15 ref16">14, 15, 16</xref>
          ]. To reduce the “explosion” of possible combinations of
basic protocols some limitations are introduced in form of Guides [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
4.3
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>Guides creation. Automatic and manual processes of guides creation</title>
        <p>
          There are two ways of guides creation: automatic and manual. Pros and cons of both
pocesses are described in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
4.4
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>Technology chain of test scenarios generation</title>
        <p>The process of tests generation with usage of VRS/TAT tools can be divided into
following phases:</p>
        <p>
          Manual creation of formal model for requirements in UCM language. Key actions
are refined from initial requirements. Based on these actions a set of chains, which
will be translated into behavioral scenarios are created. On the next step objects which
interact in the scope of scenarios and structure are refined. Metadata for data flow are
added into formal model. More detailed description of the phase is presented in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
        <p>
          The next phase is conversion of UCM model into BP notation [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] which is input
language for VRS/TAT tools. Translation is performed with saving of model
construction semantics and as result of this phase equivalent to initial UCM model is
generated.
        </p>
        <p>Guides which satisfy branch criterion are also generated based on initial UCM
model. In process of generation all branches are traversed with VRS/TAT toolset.</p>
        <p>On the next phase formal model in basic protocols notation and guides are used in
trace generator of VRS tool for verification and automatic traversal of behavioral tree
for symbolic scenarios generation.</p>
        <p>After scenarios generation process finished it is necessary to analyze coverage of
guides by traces with goal to define which guides are still not covered and identify the
reasons. Such analysis can be performed in EVA module. Based on analysis results
UCM model or guides shall be corrected.
The amount of generated test scenarios may be very big and thus running the whole
toolchain may require a lot of time, which is not desirable and can significantly slow
down all development process.</p>
        <p>
          The most obvious way to speed the things up is to run tools in parallel. To do
this, each of the processing steps was divided on separate parts:
• Parallel traces generation became possible thanks to guides [
          <xref ref-type="bibr" rid="ref18 ref21">18, 21</xref>
          ]. Guides are
independent, so after basic protocols model is obtained, there are as many VRS
instances being executed, as there are number of guides.
• Parallelization of concretization step is made by executing script on each symbolic
trace in parallel
• Lowering step parallelization made in the same manner as in concretization step.
        </p>
        <p>
          Concrete traces are processed in different threads, as they are independent [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]
• Running test suite was made by launching many instances of TAT and SUT.
Running each test requires launching SUT and TAT. After test is done, SUT must be
restarted in order to reset its state to initial.
        </p>
        <p>Theoretically, independent process parallel launching will give linear scalability.
However, there are still limits on executing on CPU/server, because machine has
limited number of cores/threads. Therefore, you will only have some work running,
while the rest of it will wait for its turn. Of course, you can improve the performance
of the system by adding another set of computing nodes. By bringing more and more
computing power, we are getting closer to the term of high performance computing
(HPC).</p>
        <p>The use of supercomputer can help to extend the number of testing instances to the
point where we can run all tests from suite simultaneously (or at least a lot of them).</p>
        <p>Test suite was divided into several parts (by the number of nodes), which were
processed individually on each node, which includes launching testing toolset and
running the SUT.
6</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Results</title>
      <p>
        Project contained stats: 2500 basic protocols, 42000 symbolic traces, 160000 concrete
traces and tests was released by S.Petersburg Polytechnic University’s Supercomputer
[
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Supercomputer allow resources for running 10^3 – 10^4 tests in parallel. Test
suite was divided into several parts, which were processed individually on each node.
Each node was running its own test job, which includes launching testing toolset and
running the SUT. Result - we can run all tests from suite simultaneously (or at least a
lot of them).
7
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>The result of this work is improved technology which integrates verification and
testing of software projects and provides:
• Full automation of industrial software product development process with the
control of requirements semantics realization.
• Generation of application’s model and symbolic behavioral scenarios, which fully
(100%) cover behavioral features of the application.
• Automated concretization of symbolic traces in accordance with test plan.
• Automated execution of system and regression testing phases.
• Supercomputer resolves problem of testing performance and we can run all tests
from suite simultaneously
• High level of automation for the process of development and managing of software
product quality.</p>
      <p>Results of integrated design and testing technology appliance in the development of
wireless telecommunication applications demonstrated 26% time-saving in software
product creation.</p>
      <p>Acknowledgments. The work was financially supported by the Ministry of Education
and Science of the Russian Federation in the framework of the Federal Targeted
Programme for Research and Development in Priority Areas of Advancement of the
Russian Scientific and Technological Complex for 2014-2020 (№ 14.584.21.0022, ID
RFMEFI58417X0022).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>K.</given-names>
            <surname>Schwaber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Beedle. Agile Software Development with Scrum - Prentice</surname>
          </string-name>
          Hall -
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>K.</given-names>
            <surname>Beck. Extreme Programming Explained: Embrace Change - Addison-Wesley Professional</surname>
          </string-name>
          ,
          <year>2000</year>
          . - 194 p.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Highsmith</surname>
          </string-name>
          .
          <article-title>Adaptive Software Development: a Collaborative Approach to Managing Complex Systems - Addison-Wesley - 2013</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cockburn</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Crystal</surname>
          </string-name>
          <article-title>Clear: a Human-Powered Methodology for Small Teams -Pearson Education -</article-title>
          <year>2004</year>
          - 312 p.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <article-title>Principles behind the Agile Manifesto</article-title>
          . URL: http://agilemanifesto.org/iso/en/principles.html
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>B.</given-names>
            <surname>Meyer</surname>
          </string-name>
          . Agile!:
          <article-title>The Good, the Hype and</article-title>
          the Ugly - Springer - 2014 - 170 p.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>J.</given-names>
            <surname>Hanley</surname>
          </string-name>
          . Scrum - User
          <string-name>
            <surname>Stories</surname>
          </string-name>
          :
          <article-title>How to Leverage User Stories For Better Requirements Definition (Scrum Series)</article-title>
          (Volume
          <volume>2</volume>
          ). - CreateSpace
          <string-name>
            <surname>Independent Publishing Platform -</surname>
          </string-name>
          2015 - 116 p.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>S.</given-names>
            <surname>Baranov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kotlyarov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Letichevsky</surname>
          </string-name>
          .
          <article-title>Industrial technology of mobile devices testing automation based on verified behavioral models of requirements project specifications// «Space, astronomy and programming» - SPbSU, SPb</article-title>
          . -
          <year>2008</year>
          . - pp.
          <fpage>134</fpage>
          -
          <lpage>145</lpage>
          . (in Russian).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Z.</given-names>
            <surname>Manna</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.Pnueli.</surname>
          </string-name>
          :
          <article-title>The Temporal Logic of Reactive and Concurrent Systems</article-title>
          . SpringerVerlag,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>S.</given-names>
            <surname>Baranov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kotlyarov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Letichevsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Drobintsev</surname>
          </string-name>
          .
          <source>The technology of Automation Verification and Testing in Industrial Projects. / Proc. of St</source>
          .Petersburg IEEE Chapter, International Conference, May
          <volume>18</volume>
          -21, St.Petersburg, Russia, 2005 - pp.
          <fpage>81</fpage>
          -
          <lpage>86</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Recommendation ITU-T Z</surname>
          </string-name>
          .
          <volume>151</volume>
          .
          <article-title>User requirements notation (URN</article-title>
          ),
          <volume>11</volume>
          /2008
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Letichevsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kapitonova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Letichevsky</given-names>
            <surname>Jr.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Volkov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Baranov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kotlyarov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Weigert</surname>
          </string-name>
          .
          <article-title>Basic Protocols, Message Sequence Charts, and the Verification of Requirements Specifications</article-title>
          .
          <source>Proc of ISSRE04 Workshop on Integrated-reliability with Telecommunications and UML Languages (ISSRE04:WITUL)</source>
          ,
          <source>02 Nov</source>
          <year>2004</year>
          : IRISA Rennes France.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>P.</given-names>
            <surname>Drobintsev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kotlyarov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.Chernorutsky.</surname>
          </string-name>
          <article-title>Test automation based on user scenarios coverage</article-title>
          .
          <source>“Scientific and technical sheets”</source>
          ,
          <source>SpbSTU</source>
          , vol.
          <volume>4</volume>
          (
          <issue>152</issue>
          )
          <article-title>-</article-title>
          2012, pp.
          <fpage>123</fpage>
          -
          <lpage>126</lpage>
          (in Russian).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. I.Anureev,
          <string-name>
            <given-names>S.</given-names>
            <surname>Baranov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Beloglazov</surname>
          </string-name>
          , E.Bodin,
          <string-name>
            <given-names>P.</given-names>
            <surname>Drobintsev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kolchin</surname>
          </string-name>
          ,,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kotlyarov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Letichevsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Letichevsky</given-names>
            <surname>Jr.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Nepomniashiy</surname>
          </string-name>
          , I.Nikiforov,
          <string-name>
            <given-names>S.</given-names>
            <surname>Potienko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Priyma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Tytin</surname>
          </string-name>
          .
          <article-title>Tools for support of integrated technology for analysis and verification of specifications telecom applications /</article-title>
          / SPIIRAN proceedings- 2013-№
          <fpage>1</fpage>
          -
          <lpage>28P</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>A.</given-names>
            <surname>Kolchin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kotlyarov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Drobintsev</surname>
          </string-name>
          .
          <article-title>A method of the test scenario generation in the insertion modelling environment // “Сontrol systems</article-title>
          and computers”,
          <source>Kiev: "Akademperiodika"</source>
          , vol.
          <volume>6</volume>
          -
          <issue>2012</issue>
          , pp.
          <fpage>43</fpage>
          -
          <lpage>48</lpage>
          (in Russian)
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>A.A.</given-names>
            <surname>Letichevsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.V.</given-names>
            <surname>Kapitonova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.P.</given-names>
            <surname>Kotlyarov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.A. Letichevsky</given-names>
            <surname>Jr.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.S.</given-names>
            <surname>Nikitchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.A.</given-names>
            <surname>Volkov</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Weigert</surname>
          </string-name>
          .
          <article-title>Insertion modeling in distributed system design // Programming problems</article-title>
          . - 2008. - pp.
          <fpage>13</fpage>
          -
          <lpage>38</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>V.P.</given-names>
            <surname>Kotlyarov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.D.</given-names>
            <surname>Drobintsev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.V.</given-names>
            <surname>Nikiforov</surname>
          </string-name>
          .
          <article-title>Integrated technology for industrial software verification</article-title>
          and testing // Proceedings of the 2014
          <source>International Conference on Mathematical Models and Methods in Applied Sciences (MMAS '14</source>
          )
          <string-name>
            <surname>- Saint Petersburg</surname>
          </string-name>
          State Polytechnic University, Saint Petersburg,
          <source>Russia - September 23-25</source>
          ,
          <fpage>2014</fpage>
          - pp.
          <fpage>138</fpage>
          -
          <lpage>145</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>A. Letichevsky</given-names>
            <surname>Jr.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kolchin</surname>
          </string-name>
          .
          <article-title>Test scenarios generation based on formal model // Programming problems</article-title>
          . - 2010. - №
          <fpage>2</fpage>
          -
          <lpage>3</lpage>
          . - pp.
          <fpage>209</fpage>
          -
          <lpage>215</lpage>
          (in Russian)
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>V.P.</given-names>
            <surname>Kotlyarov</surname>
          </string-name>
          .
          <article-title>Criteria of requirements coverage in test scenarios, generated from applications behavioral models // “Scientific and technical sheets”</article-title>
          ,
          <source>SpbSTU. - 2011</source>
          . - vol.
          <volume>6</volume>
          .
          <issue>1</issue>
          (
          <issue>138</issue>
          ). - pp.
          <fpage>202</fpage>
          -
          <lpage>207</lpage>
          . (in Russian)
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Baranov</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotlyarov</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weigert</surname>
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Varifiable</surname>
          </string-name>
          <article-title>Coverage Criteria For Automated Tesdting</article-title>
          .
          <article-title>SDL2011: Integrating System</article-title>
          and Software Modeling // LNCS. -2012- Vol.
          <fpage>7083</fpage>
          - P.
          <fpage>79</fpage>
          -
          <lpage>89</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>P.</given-names>
            <surname>Drobintsev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kotlyarov</surname>
          </string-name>
          , I.Nikiforov,
          <string-name>
            <given-names>N.</given-names>
            <surname>Voinov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.Selin.</surname>
          </string-name>
          :
          <article-title>Conversion of abstract behavioral scenarios into scenarios applicable for testing</article-title>
          .
          <source>SYRCoSE-2016</source>
          , ISPRAS, pp.
          <fpage>96</fpage>
          -
          <lpage>101</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Creating</surname>
          </string-name>
          <article-title>"Polytechnic RSC Tornado" supercomputer for St</article-title>
          . Petersburg State Polytechnical University. URL: http://www.rscgroup.ru/ru/our-projects/240-sozdanie
          <article-title>-superkompyuterapolitehnik-rsk-tornado-dlya-spbpu</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>