<!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>Intelligent System for Determining the Sufficiency of Metric Information in the Software Requirements Specifications</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Khmelnitsky National University</institution>
          ,
          <addr-line>Institutska str., 11, Khmelnitsky, 29016</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1857</year>
      </pub-date>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>The paper is devoted to the developing the intelligent system for determining the sufficiency of metric information in the software requirements specifications (SRS), which provides on the basis of the natural language processing of SRS: conclusion about the sufficiency of metric information (indicators for metrics calculation) in SRS, numerical assessment of the sufficiency level of metric information in the SRS, visualization of missing indicators for metrics calculation. The developed intelligent system provides an increase in the sufficiency of information by 12.71-50.28% for the SRS of the information and analytical system for the accounting of therapeutic and diagnostic activities provided to the wounded during transportation. In general, the developed system provides an increase in the sufficiency of metric information in the SRS to 100% - if it's necessary (for critical software) or at the customer's request. The developed intelligent system for determining the sufficiency of metric information in the SRS can be used during the software development for government agencies, military formations and law enforcement agencies, commercial organizations (both for organizationsdevelopers of software and for organizations-customers of software).</p>
      </abstract>
      <kwd-group>
        <kwd>Software Metrics</kwd>
        <kwd>Software Requirements Specification (SRS)</kwd>
        <kwd>Sufficiency of Metric Information</kwd>
        <kwd>Intelligent Agent (IA)</kwd>
        <kwd>Intelligent System (IS)</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Given the fact that in today's world software development has become one of the most
expensive industries, and any bottlenecks in the technological process of its creation
can lead to unwanted results, one of the main requirements of users to modern
software is its high quality and low complexity. According to ISO 25010 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], ISO
25030 [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], ISO 19759 (SWEBOK) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], the quality of software is the ability of
software to meet the claimed and predictable customer's needs during its use under
certain conditions. Software quality in ISO 9000 [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and ISO 9001 [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is the degree of
accordance of software to the requirements. Definition of quality from standards [
        <xref ref-type="bibr" rid="ref4 ref5">4,
5</xref>
        ] doesn't take into account the fact that requirements may not fully reflect the
customers' needs, then meeting the requirements isn't meeting the customers' needs,
so such software cannot be considered qualitative (in fact, there will only be formal
quality satisfaction). The structural complexity of software is the number of
interacting components, the number of links between components and the complexity
of their interaction [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Today, there are a number of models that provide the calculation of the software
quality and complexity, but the multiplicity of interpretation of these characteristics
complicates such calculations. Most models are based on the use of different software
metrics. According to ISO 24765 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], the software metric is a measure, which gives
the numeric value of a certain software feature as a weighted arithmetic mean taking
into account the values of the indicators of this metric and their weights.
      </p>
      <p>
        The using of quantitative metrics had to help in solving a number of practical
tasks [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]: 1) predicting the number of bugs in the software from the beginning of the
project; 2) predicting the level of software quality, software complexity and its
maintenance on the basis of analysis of the results of the design stage; 3) predicting
the level of complexity and quality of the testing processes and the number of
unidentified bugs based on analysis of the source code; 4) predicting the final size of
the source code based on the analysis of the complexity assessments of the design
stage; 5) determining the impact of certain features of source code on the quality of
the ready software; 6) control of project development stages; 7) analysis of explicit
and hidden defects; 8) identifying the best methods and technologies of development
on the basis of experimental comparison.
      </p>
      <p>
        The modern software industry has accumulated a large number of metrics, that
assess the certain production and operating features of software, but modern software is
not ideal in terms of its quality [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], and in the field of evaluation and prediction of
software characteristics based on the analysis of metrics remains a series of unsolved
issues [
        <xref ref-type="bibr" rid="ref10 ref8">8, 10</xref>
        ]: 1) there are no common standards for metrics, which leads to a subjective
choice of metrics – more than a thousand metrics has created, each developer of the
"measuring" system offers its own methods and metrics for assessing the quality; 2)
there is a problem of the complexity and subjectivity of the interpretation of the values
of metrics – the value of metrics, which were obtained using "measuring" systems, are
non-informative or little-informative for the user, for the customer, and often for the
programmer; 3) tools of automating the calculation of metrics are aimed at metrology of
the finished source code, and aren't aimed at prediction and calculation of software
metrics at the design stage, when there is no source code, and there are only
informational, functional and behavioural models of requirements analysis; 4) there is a
problem of low level of automation of analysis and processing of software metrics –
only the processes of collecting, registering and calculating the metric information are
currently automated; 5) all known automated tools are aimed, in general, at quality
assessment, but none of them is aimed at ensuring the adequate level of quality.
      </p>
      <p>The complexity of the justification of the choice and interpretation of metrics
during making the production decisions, and ignoring the stages of the software
lifecycle don't allow the full use of metrics for evaluating and predicting the software
characteristics at the early stages of the software lifecycle. At present, the actual task
is calculating the metrics' values for estimating and predicting the quality and
complexity of software at the early stages of the lifecycle.</p>
    </sec>
    <sec id="sec-2">
      <title>State-of-the-Art</title>
      <p>Let's consider the known methods and tools for evaluating the values of complexity
and quality metrics.</p>
      <p>
        The German National Research Center of Information Technology (GMD) has
developed the ProcePT project [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], which includes information models of software
development processes, and quality assessment methods based on the metrics, in
particular, the SMV component aims at measuring software metrics and quantifying
the software characteristics ; the SPM component aims to assess the quality of
development processes based on quantitative indicators. These products are designed
to evaluate the finished source code.
      </p>
      <p>
        IBM corporation offers the methodology for creating complex software systems,
called Cleanroom Software Engineering [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The Cleanroom tool for automated
testing and evaluation of software reliability is the Cleanroom Certification Assistant
environment, that uses statistical results of testing to calculate software reliability
metrics by mathematical methods.
      </p>
      <p>
        The Logiscope package [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] is a set of software tools (TestChecker, RuleChecker,
Audit) that conduct comprehensive software testing and improve its quality. The basis
of the package is the idea of analyzing the source code. The Logiscope package is
designed to qualitatively evaluations of source code and identification of code's
fragments, where the occurrence of bugs is most likely. After analyzing the code,
Logiscope generates a set of various metric information in the form of quantitative
metrics (over 200 types of metrics) about the code, its positive and negative features,
generates a complete report that provides the conclusions about the quality of the code.
      </p>
      <p>
        Pure Software company, a leading developer of automated software tools for
creating high-quality software, offers the Purify system [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], which provides to
identify a variety of software bugs and to calculate metrics of software complexity.
The Purify system is mainly oriented on source code, rarely it can work without code,
but it is not designed to work with the requirements and the software requirements
specifications (SRS).
      </p>
      <p>
        The Hindsight tool of IntegriSoft [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] analyzes the source code, measures the
source code and calculates the values of software product metrics for their use in
quality assessment. The cyclomantic complexity, data complexity, Halstead's metrics,
complexity of software architecture are calculated.
      </p>
      <p>
        The EzCover tool [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] measures the software and calculates the following metrics:
cyclomatic complexity, modified complexity, data complexity, number of empty
lines, number of commented lines, number of executable lines.
      </p>
      <p>
        Metricate tool [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] probes practically all aspects of software companies activity:
efficiency of technological processes, quality of source code, level of project
management, cost of execution of different stages, productivity of the develooped
system, productivity of developers' work and quality of finished products.
      </p>
      <p>
        DMS tool [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] provides a calculation of a number of metrics based on the analysis
of the source code. CAST Application Intelligence Platform by CAST [17] provides
detailed, audience-specific dashboards to measure quality and productivity. ConQAT
[18] provides the continuous quality assessment toolkit that allows flexible
configuration of quality analyses and dashboards. GrammaTech CodeSonar [19]
calculates the software metrics for C, C++, Objective-C, and Java source code. Moose
[20] is the software analysis platform with many tools to manipulate, assess or
visualize software; it can evolve to a more generic data analysis platform. Parasoft
[21] provides static analysis (pattern-based, flow-based, in-line, metrics) for C, C++,
Java, .NET. SideCI [22] is the static code analysis based automated code review tool;
checks style, quality, dependencies, security and bugs. Sonargraph [23] provides the
dependency analysis, automated architecture check, metrics and the ability to add
custom metrics and code-checkers. SonarQube [24] provides tracks code complexity,
unit test coverage and duplication. CppCheck [25] is the open-source tool for analysis
of the source code and calculation of the software complexity metrics.
      </p>
      <p>In the paper [26] the tool is developed, named as SWMetrics, using Microsoft
Visual Studio C# to compute a metrics of LOC, SLOC and complexity based the
cyclomatic complexity metric for quality measurement for many format languages of
the source of code.</p>
      <p>The paper [27] discusses how the Expert System can be used to automate the
selection and implementation process of software quality assurance and provides
recommendations for building an expert system for software quality assurance which can
be used to help software-producing organizations in selecting the most suitable
models to be adopted according to their properties and needs.</p>
      <p>Authors of the paper [28] present a software quality support tool, a Java source
code evaluator and a code profiler based on computational intelligence techniques that
represent a new approach to evaluate and identify inaccurate source code usage and
transitively, the software product itself. The aim of this project is to provide the
software development industry with a new tool to increase software quality by extending
the value of source code metrics through computational intelligence.</p>
      <p>Authors of [29] discuss software measurement and metrics and their fundamental
role in the software development life cycle, with focus on software test metrics,
discuss their key role in software testing process and also classify and systematically
analyze the various test metrics.</p>
      <p>The proposed in [30] BornBaby model is a whole new dimension of Artificial
Intelligence for software engineering domain: attempts are being made to come up with
a software synthesis program, which is able to write programs on its own, like human
programmers; defines how a program must learn in order to come up with solutions;
emphasizes on how the program must learn the data based on natural concepts of
living beings and the implementation is generic.</p>
      <p>A fuzzy logic reputable paradigm is proposed in [31] for predicting software
defect density on individual phases of the software development lifecycle.</p>
      <p>The thesis [32] presents methodological investigations using search-based
techniques, which are relevant to the task of software quality measurement and prediction,
using search-based techniques in large-scale projects during verification, validation
and testing of software.</p>
      <p>The general disadvantages of the above tools of quality assessment are: a
subjective dependence of the choice of metrics that tools of automating the
calculation of metric information will calculate; the subjectivity of metric
interpretation, because the exact (standard) values of the metrics are absent; the focus
of automated "measuring" tools is the testing and metrology of the finished source
code, but not the prediction and calculation of software metrics at the design stage.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] the neuronet method for software quality evaluation and prediction is
proposed. The authors of [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] selected 24 metrics of software quality and complexity,
which can be calculated already at the design stage (with exact or predicted values).
The values of such metrics are analyzed by the artificial neural network, which, based
on this analysis, provides assessments of the complexity and quality of the software
project, and the predicted assessments of the complexity and quality of the future
software. The obtained assessments are processed according to the developed
production rules (which were formed on the basis of the empirically obtained
threshold values), and as a result the user gets conclusions on the level of complexity
and quality of the software project, and the conclusions-predictions on the level of
complexity and quality of the future software. The developed method focuses not on
the source code, but on the SRS, but is based on the analysis of the ready values of 24
metrics of complexity and quality (which depend on 72 indicators, including 42
different indicators) and doesn't take into account the possibility or impossibility of
calculation such metrics on the basis of the information of the SRS.
      </p>
      <p>Then, the task of assessing the sufficiency of metric information at the early stages
of the software lifecycle, in particular, in the SRS (as the possibility of obtaining the
indicators for calculation of metrics' values), is actual. Although completeness of
software requirements is desirable, determination of completeness of the set of
requirements is not realistic as was proved in [33]. The insufficiency of information
on indicators in requirements will lead, accordingly, to the impossibility of calculating
the values of certain metrics and hence to the reduction of the validity of assessments
of software quality and complexity at the early stages of the lifecycle. Today the
assessment of sufficiency of software safety requirements is known [33, 34].</p>
      <p>
        Then, the aim of this study is the developments of the intelligent system for
determining the sufficiency of metric information in the SRS, which, based on the
natural language processing of SRS, will provide conclusions about the sufficiency of
metric information in the SRS (of indicators for calculation of the chosen in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
metrics).
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Intelligent System for Determining the Sufficiency of Metric</title>
    </sec>
    <sec id="sec-4">
      <title>Information in the Software Requirements Specifications</title>
      <p>Intelligent system (IS) for determining the sufficiency of metric information in the
SRS is developed as an agent-oriented system, which consists of two intelligent
agents (Fig. 1): the intelligent agent (IA) for parsing the SRS on the search of metric
information (indicators for calculation of metrics) and the IA for determining the
sufficiency of metric information in the SRS.</p>
      <p>Both intelligent agents are built on the basis of the ontological approach. IAs use
the early developed base ontology of the subject domain "Software Engineering" (part
"Quality and complexity of software. Metric analysis") as the known knowledge.</p>
      <p>Fig. 1. Intelligent system for determining the sufficiency of metric information in the SRS.</p>
      <p>
        The method of activity of the IA for semantic parsing the SRS on the search of metric
information (indicators for the calculation of metrics) consists of the following steps:
1. Search of each indicator of the base ontology "Software Engineering" (part
"Quality and complexity of software. Metric analysis") in the SRS for the real
software (such the base ontology is contained in the agent's knowledge base).
2. If &lt;indicatorі&gt; is in the SRS, then &lt;indicatorі&gt; belongs to the set of available
indicators, i=1..42 (since, according to [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], there are 42 different indicators, that effects
on metrics of quality and complexity of software).
3. If &lt;indicatorі&gt; is not in the SRS, then &lt;indicatorі&gt; belongs to the set of missing
indicators, i=1..42.
4. All indicators of the set of missing indicators are deleted from the base ontology
"Software Engineering" (part "Quality and complexity of software. Metric analysis").
5. Checking that all indicators of the set of available indicators are in the ontology
after its modification in the previous step.
6. Saving the made changes – creation of a real ontology "Software Engineering"
(part "Quality and complexity of the software. Metric analysis").
      </p>
      <p>In [35], we have developed method of activity of ontology-based intelligent agent
for evaluating the initial stages of the software lifecycle, which, on the basis of
comparison of the obtained real ontology with the base ontology for non-functional
characteristics of the software, forms the conclusion about the sufficiency or
insufficiency of the information, and numerical assessments of the sufficiency level of
the SRS information for defining the non-functional characteristics. Now we use this
method for development of the IA for determining the sufficiency of metric
information in the SRS. But the base ontology for such IA is the ontology "Software
Engineering" (part "Quality and complexity of the software. Metric analysis"). In
addition, the numerical assessment of the level of sufficiency of metric information in
the SRS will be calculated by the formula (1):</p>
      <p>D </p>
      <p>
        k qmi j
k  
j 1 qni j
k
where – quantity of metrics ( , because in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] 24 metrics of quality and
complexity, which are available at the early stages of lifecycle, were chosen), –
quantity of missing in the real SRS indicators for -th metric, – quantity of
necessary indicators for -th metric (according to base ontology "Software Engineering"
(part "Quality and complexity of the software. Metric analysis")).
      </p>
      <p>Thus, the developed IS for determining the sufficiency of metric information in
the SRS performs the parsing (semantic analysis) of the natural language SRS with
the purpose of the search of the indicators, which are necessary for calculation of the
software metrics, and also forms the conclusion about the sufficiency or insufficiency
of metric information in the SRS, asesses the level of sufficiency of metric
information and visually shows missing indicators with the distribution by the
metrics, for which they are used.</p>
    </sec>
    <sec id="sec-5">
      <title>Experiments with Intelligent System for Determining the</title>
    </sec>
    <sec id="sec-6">
      <title>Sufficiency of Metric Information in the Software</title>
    </sec>
    <sec id="sec-7">
      <title>Requirements Specifications</title>
      <p>Intelligent system for determining the sufficiency of metric information in the SRS
has implemented in the form of free software, which is available by the link –
https://olp-project.herokuapp.com.</p>
      <p>The user of the IS for determining the sufficiency of metric information in the
SRS upload the SRS in pdf-format. IA for parsing the SRS on the search of metric
information (indicators for calculation of metrics) performs parsing of the
specification and generates the ontology for real software as a .owl file, which the
user can download (Fig. 2).</p>
      <p>Next, the IA for determining the sufficiency of metric information in the SRS
performs a comparison of the ontology for real software with the base ontology and
concludes about the sufficiency of metric information, namely: Count of missing
indicators (without considering the number of uses of each indicator), Count of
missing indicators (considering the number of uses of each indicator), Percent of
missing indicators (without considering the number of uses of each indicator), Percent
of missing indicators (considering the number of uses of each indicator), Total
numerical evaluation of information sufficiency level for all metrics in SRS, and
visualized list of missing indicators with distribution by the metrics.</p>
      <p>For the experiments, two SRS of the information and analytical system for the
accounting of therapeutic and diagnostic activities provided to the wounded during
transportation were analyzed, which were developed by two different software
companies at Khmelnitsky.</p>
      <p>The level of sufficiency of metric information in the SRS1 was 49.72% when the
7 indicators without considering the number of uses of each indicator and 31
indicators considering the number of uses of each indicator were absent – Fig. 3.</p>
      <p>The level of sufficiency of metric information in the SRS2 was 75.28% when the
14 indicators without considering the number of uses of each indicator and 20
indicators considering the number of uses of each indicator were absent – Fig. 4.</p>
      <p>Obviously, the sufficiency of metric information in SRS2 is higher than the
sufficiency of metric information in SRS1, and the number of missing indicators
considering the number of uses of each indicator in SRS2 is lower than in SRS1
(while the number of missing indicators without considering the number of uses of
each indicator in SRS2 is twice as high as in SRS1). These results are due to the fact
that more important and priority are indicators that affect more than one metric.</p>
      <p>On Fig. 5 the visualization of the missing indicators for determining the metrics of
complexity with exact values at the design stage are represented with the distribution
by metrics is represented.
Fig. 4. Conclusion about the sufficiency of metric information in SRS2, which is provided by
the intelligent system for determining the sufficiency of metric information in the SRS.</p>
      <p>The customer of the software of the information and analytical system for the
accounting of therapeutic and diagnostic activities provided to the wounded during
transportation considered the level of sufficiency equal 95% is acceptable (since
medical software is the critical software). So the customer demanded the re-work of
both SRS by their developers. After re-work, the SRS were again analyzed by the
developed IS – Fig. 6, Fig. 7.</p>
      <p>The level of sufficiency of the metric information in SRS1 after re-work is 100%
(the SRS1 has all the necessary indicators for calculation of the metrics), and the level
of sufficiency of the metric information in the SRS2 after re-work is 87.99% when 8
indicators without considering the number of uses of each indicator and 10 indicators
considering the number of uses of each indicator are absent.</p>
      <p>The customer of the software of the information and analytical system for the
accounting of therapeutic and diagnostic activities provided to the wounded during
transportation chose SRS1 with 100%-th level of sufficiency of metric information for
further work on a software project.</p>
      <p>The developed intelligent system for determining the sufficiency of metric
information in the SRS has increased the sufficiency of information by 50.28% for SRS1
and by 12.71% for SRS2.
5</p>
    </sec>
    <sec id="sec-8">
      <title>Conclusions</title>
      <p>Nowadays the actual task is the calculation of the metrics' values for evaluating and
predicting the quality and complexity of software at the early stages of the lifecycle.
The conducted analysis of known methods and tools for performing metric analysis
showed that most of these methods and tools are focused on the calculation of various
metrics based on the analysis of the finished source code. Known methods and tools,
which are aimed at early stages of lifecycle, are based on the analysis of the ready
values of metrics and don't consider the possibility or impossibility of calculating
such metrics on the basis of the available information in the SRS. Then, the actual
task is assessing the sufficiency of metric information at the early stages of the
software lifecycle, in particular, in the SRS.</p>
      <p>In this paper the intelligent system for determining the sufficiency of metric
information in the SRS is developed. This IS, based on the natural language
processing of SRS, provides: the conclusion about the sufficiency of metric
information in SRS, the numerical assessment of the sufficiency level of metric
information in the SRS, visualization of missing indicators for metrics calculation.</p>
      <p>The developed IS provides the increase in the sufficiency of information by
12.7150.28% for the SRS of the software of the information and analytical system for the
accounting of therapeutic and diagnostic activities provided to the wounded during
transportation. Generally developed IS provides the increase in the sufficincy of
metric information in the SRS to 100% – if it’s necessary (for critical software) or at
the request of the customer.</p>
      <p>The developed intelligent system for determining the sufficiency of metric
information in the SRS can be used in the process of software development for
government agencies, military formations and law enforcement agencies, for
commercial organizations (for organizations-customers of the software – with the
purpose of the assessment of the level of implementation of the initial stages of the
lifecycle by the developers and with the purpose of the grounded choice of the SRS
with the highest level of sufficiency of information). For organizations-developers,
the developed IS can also be used – with the purpose of automation of the process of
verifying the sufficiency of information in the SRS.</p>
      <p>The limitation of the developed IS is the possibility of assessment of the
sufficiency of only metric information in the SRS – as the sufficiency of the
indicators in the SRS for determining the 24 selected software metrics, which are
available at the design stage. The further efforts of the authors will be directed for
elimination of this limitation (in particular, for expanding the set of metrics and,
respectively, indicators).
17. Application Intelligence Platform,
https://www.castsoftware.com/products/applicationintelligence-platform, last accessed 2019/03/19.
18. ConQAT end of life, https://www.cqse.eu/en/blog/conqat-end-of-life/, last accessed
2019/03/19.
19. GrammaTech CodeSonar: Delivering resiliency for today's IoT devices,
https://www.grammatech.com/products/codesonar, last accessed 2019/03/19.
20. Moose is a platform for software and data analysis, http://www.moosetechnology.org/, last
accessed 2019/03/19.
21. Automated Software Testing Tools for Creating High Quality Software,
https://www.parasoft.com/, last accessed 2019/03/19.
22. SideCI: Automated Code Review for GitHub, https://alternativeto.net/software/sideci/, last
accessed 2019/03/19.
23. Sonargraph Product Family, https://www.hello2morrow.com/products/sonargraph, last
accessed 2019/03/19.
24. SonarQube: The leading product for continuous code quality, https://www.sonarqube.org/,
last accessed 2019/03/19.
25. CppCheck: A tool for static C/C++ code analysis, http://cppcheck.sourceforge.net/, last
accessed 2019/03/19.
26. Zakariya, S., Belal, M.: Software quality management measured based code assessments.</p>
      <p>International Journal of Computer Science Trends and Technology. 3, 4, 263-268 (2015).
27. Shouman, M., Eldrandaly Kh., Tantawy, A.: Software quality assurance models and expert
systems. In: The 9-th International Conference on Production Engineering, Design and
Control Proceedings. Alexandria (2009).
28. Agüero, M., Madou, F., Esperón, G., López De Luise, D.: Artificial intelligence for
software quality improvement. International Journal of Computer and Information
Engineering. 4, 3, 399-404 (2010).
29. Farooq, S. U., Quadri, S., Ahmad, N.: Software measurements and metrics: role in
effective software testing. International Journal of Engineering Science and Technology. 3, 1,
671-680 (2011).
30. Gururaj, H. L., Ramesh, B. BornBaby model for software synthesis: A program that can
write programs. Data Analytics and Learning: Lecture Notes in Networks and Systems. 43,
403-412 (2019).
31. Ravi Kumar, T., Srinivasa Rao, T.: Software Defects Prediction based on ANN and Fuzzy
logic using Software Metrics. International Journal of Applied Engineering Research. 12,
19, 8509-8517 (2017).
32. Azfal, W.: Search-based prediction of software quality: evaluations and comparisons.
Blekinge Institute of Technology, Blekinge (2011).
33. Cruickshank, K. J.: A validation metrics framework for safety-critical software-intensive
systems. Naval Postgraduate School, Monterey (2009).
34. Michael, J. B., Shing, M.-T., Cruickshank, K. J., Redmond, P. J.: Hazard Analysis and
Validation Metrics Framework for System of Systems Software Safety. IEEE Systems
Journal. 4, 2, 186–197 (2010).
35. Hovorushchenko, T., Pavlova, O.: Method of Activity of Ontology-Based Intelligent
Agent for Evaluating the Initial Stages of the Software Lifecycle. Advances in Intelligent
Systems and Computing. 836, 169-178 (2019).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. ISO/IEC 25010:
          <year>2011</year>
          .
          <article-title>Systems and software engineering. Systems and software Quality Requirements and Evaluation (SQuaRE). System and software quality models (</article-title>
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. ISO/IEC 25030:
          <year>2007</year>
          .
          <article-title>Software engineering. Software product Quality Requirements and Evaluation (SQuaRE)</article-title>
          .
          <article-title>Quality requirements (</article-title>
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. ISO/IEC TR 19759:
          <year>2015</year>
          .
          <string-name>
            <given-names>Software</given-names>
            <surname>Engineering</surname>
          </string-name>
          .
          <article-title>Guide to the software engineering body of knowledge (SWEBOK) (</article-title>
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. ISO 9000:
          <year>2015</year>
          .
          <article-title>Quality management systems</article-title>
          .
          <source>Fundamentals and vocabulary (</source>
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. ISO 9001:
          <year>2015</year>
          .
          <article-title>Quality management systems</article-title>
          .
          <source>Requirements</source>
          (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Maedche</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Botzenhardt</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neer</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Software for people: fundamentals, trends and best practices (Management for professionals)</article-title>
          . Springer-Verlag Berlin Heidelberg, Berlin (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. ISO/IEC/IEEE 24765:
          <year>2010</year>
          .
          <article-title>Systems and software engineering</article-title>
          .
          <source>Vocabulary</source>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Pomorova</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hovorushchenko</surname>
          </string-name>
          , T.:
          <article-title>Research of Artificial Neural Network's Component of Software Quality Evaluation and Prediction Method</article-title>
          .
          <source>In: The 2011 IEEE 6-th International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications Proceedings</source>
          . Prague (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Pomorova</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hovorushchenko</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>The Way to Detection of Software Emergent Properties</article-title>
          .
          <source>In: The 2015 IEEE 8-th International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications Proceedings</source>
          . Warsaw (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Pinciroli</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Improving Software Applications Quality by Considering the Contribution Relationship Among Quality Attributes</article-title>
          .
          <source>Procedia Computer Science</source>
          .
          <volume>83</volume>
          ,
          <fpage>970</fpage>
          -
          <lpage>975</lpage>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Graphical Development Process Assistant: ProcePT, http://www.scope.gmd.de/projects/ProcePT/, last accessed
          <year>2019</year>
          /03/19.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. Cleanroom Software Engineering, https://www.tutorialride.com/softwareengineering/cleanroom-software-engineering.htm,
          <source>last accessed</source>
          <year>2019</year>
          /03/19.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Automatic</surname>
          </string-name>
          <article-title>Code Analysis with Logiscope Products</article-title>
          , https://www.kalimetrix.com/logiscope, last accessed
          <year>2019</year>
          /03/19.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>PurifyPLUS &gt; Dynamic Software Analysis</surname>
          </string-name>
          , https://www.almtoolbox.com/purify.php,
          <source>last accessed</source>
          <year>2019</year>
          /03/19.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Morse</surname>
          </string-name>
          , J.:
          <article-title>Expressive and efficient bounded modelchecking of concurrent software</article-title>
          . University of Southampton, Southampton (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. DMS® Software Reengineering Toolkit™, https://www.semanticdesigns.com/Products/DMS/DMSToolkit.html,
          <source>last accessed</source>
          <year>2019</year>
          /03/19.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>