<!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>Tree Kernels to Support Formal Methods-Based Testing of Evolving Specifications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Francesco Altiero</string-name>
          <email>francesco.altiero@unina.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anna Corazza</string-name>
          <email>anna.corazza@unina.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sergio Di Martino</string-name>
          <email>sergio.dimartino@unina.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Adriano Peron</string-name>
          <email>adriano.peron@units.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luigi Libero Lucio Starace</string-name>
          <email>luigiliberolucio.starace@unina.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Università degli Studi di Napoli Federico II</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>Tree Kernels (TKs) are a family of functions measuring the similarity between two tree-structured objects. TKs have been successfully employed in several fields of AI, including Natural Language Processing and Software Engineering (e.g.: software testing and code clone detection). A recent research line has proved that the information about source code changes captured by TKs can fruitfully be applied to select and prioritize test cases in Regression Testing, a crucial activity in modern software development processes. We suggest that a similar approach can be adopted also in the field of formal specification of safety-critical systems, whenever a structured language (e.g., a variant of Statecharts, hierarchical automata or the Promela description language) is adopted for the specification task and test cases are (semi-)automatically generated from the specifications. In evolutionary approaches to specification development, the information on changes between two consecutive versions of the specification can aid in focusing the activity of test generation and their execution on the specification modules that were mainly afected by the specification changes.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;AI</kwd>
        <kwd>Formal Verification</kwd>
        <kwd>Change-driven testing</kwd>
        <kwd>Tree Kernels</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction and Background</title>
      <p>Safety-critical systems are nowadays an integral part of our lives, impacting everything from
healthcare to transportation and beyond. The consequences of a failure in these systems can
range from costly inconveniences to potentially catastrophic disasters and thus ensuring their
reliability and safety is of paramount importance. Formal methods have emerged as a vital tool
in addressing these challenges.</p>
      <p>
        In particular, hierarchical modelling languages and verification toolkits have been proposed
and efectively adopted in many diferent contexts to handle the increasing complexity of such
systems. An example of a specification environment which exploits hierarchically structured
models is proposed in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. That work introduces a variant of Statecharts called Dynamic State
Machines (DSTMs) and the encoding of DSTM models into Promela, the description language
adopted by the Spin model checker, to endow the formalism with an executable semantic. The
translation, which has been further refined in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], enables both the automated verification of
behavioural properties [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] on the modelled system and the automated generation of test cases,
by exploiting the model checker’s ability to extract counterexamples of violated properties. A
case study witnessing the interest of the approach in an industrial setting has also been reported
in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. It is worth noting that both DSTM models and their Promela executable semantics can
be seen as tree-structured artifacts. Indeed, a DSTM specification has been already encoded as a
tree-structured XML file in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and Promela code can be represented using the Abstract Syntax
Tree resulting from its parsing.
      </p>
      <p>In this work, we present a novel approach we are currently investigating, aimed at supporting
the verification eforts for such hierarchical models in evolutionary scenarios, i.e., when changes
are made to an existing specification. Inspired by the efectiveness of Tree Kernel functions in
a number of Natural Language Processing and Software Engineering tasks, where they have
been applied to compute meaningful structural similarity measures between tree-structured
data, we envision fruitfully applying them also in the formal verification field. In particular, we
aim to measure the entity of changes to a hierarchical specification by using Tree Kernels to
compare a new version of a DSTM specification (or of its Promela semantics) with the previous
one. Tree Kernels could serve as an efective way of identifying the most critical changes in
the hierarchical specification, and this information could be crucial in directing costly test-case
generation eforts towards covering the parts of the specification that have been afected by the
most relevant changes.</p>
      <p>The remainder of this work is structured as follows. In Section 2 we provide preliminary
information and some related works on Tree Kernel functions. In Section 3 we present our
vision for adopting Tree Kernels to support verification eforts of hierarchical specifications in
evolutionary scenarios. Lastly, in Section 4, we give some closing remarks.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Tree Kernels for Regression Test Prioritization</title>
      <p>
        Tree-based structures can be naturally employed to model several kinds of structured information
in diferent branches of computer science. The evaluation of similarity between tree structures is
a common operation in diferent tasks of various domains, such as Natural Language Processing
(NLP) and Software Engineering. Tree Kernels (TKs) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] are a class of Kernel functions used to
assess similarity between tree structures, and have been successfully applied in both NLP [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ]
and Software Engineering [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ]. Given two tree-based structures, TKs evaluate their similarity
by considering the number of diferent tree fragments the structures have in common. Diferent
kinds of considered fragments give rise to diferent TK functions, e.g., SubTree Kernels takes
into account the sub-trees of the original structures, while Partial Treek Kernels rely on parts of
the original tree [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Some kind of TKs, such as Smoothed Partial Tree Kernels [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], include also
semantic information, allowing to define a weighting function for the labels of tree-nodes.
      </p>
      <p>
        All TK functions have diferent tunable parameters, such as a decay factor for the depth of
a node in the considered fragments, or a penalization factor for gaps between the considered
fragments. The main advantage of TK functions relies on their flexibility, as they can be tuned
to highlight sub-structures which are specific to the problem at hand, and are often used along
other machine learning models such as Support Vector Machine [12]. TKs can be eficiently
evaluated using dynamic programming algorithms [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>In the Software Engineering domain, Tree Kernels have typically been employed on the
Abstract Syntax Tree (AST) representation of the source code, in order to obtain the
similarity between two code fragments. ASTs are a tree-based and natural representation of source
code, highlighting both its structural properties and semantic properties. Each construct of
the programming language is converted into a tree node, labeled with its semantic
information (e.g.,loop, statement or expression), while parent-child relations reflect how the diferent
constructs are nested within each other. Leaves of the tree represent terminal tokens such as
variables or constants defined in the source code. ASTs have been exploited in several studies
[13, 14, 15] due to the flexibility and the high degree of customization they hold, which makes
their structure and semantics thoroughly adaptable to the problem at hand.</p>
      <p>Our research lines focused on the application of Tree Kernels and Abstract Syntax Trees in
the field of Regression Test Prioritization (RTP) [16], a widely-adopted practice to ease Regression
Testing, one of the most resource-consuming activities of the software validation phase[17, 18].
RTP is applied in scenarios of limited resources allocated to the testing phase, where it is
typically not possible to execute the entire test suite of the application. RTP approaches aim to
ifnd a permutation of the test cases in order to discover as many faults as possible within this
limited resource window. Diferent techniques for RTP assign priorities to test cases according
to some properties, e.g., test coverage [16], test execution history [19] or code changes [20].</p>
      <p>Our studies on the application of TKs to RTP showed that the approach is efective in
estimating the fault-proneness of source code changes [21], and its application to RTP has led
to promising results. We employed Tree Kernel functions to assess the similarity of the ASTs
related to the previous and current version of changed methods/functions and schedule the test
cases giving higher priority to those covering the units with the higher degree of changes. The
rationale of this approach is that procedures which exhibit deeper changes are more likely to
show faults than functions which have been subjected to a lower degree of changes.</p>
      <p>We implemented our technique for the Java programming language and executed it in diferent
experimental settings, concerning both datasets of benchmark software projects with artificially
injected faults and on projects with real faults. We then evaluated the technique performances
according to common metrics used in prioritization (e.g., Average Percentage of Fault Detected).
We compared our technique with several RTP approaches commonly used in practice. In
particular, some of these approaches did not rely on changes between the version (e.g., only on
test coverage), while other approaches were aware of changes, the latter employing a textual
representation of the source code (e.g., dif -like analyses). The results of our experiments were
promising and better than the other considered techniques for all metrics, indicating that TKs
can produce a more meaningful assessment of changes within the code.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Tree Kernels for Hierarchical Specifications</title>
      <p>As the source code changes during an evolutionary step in a software lifecycle, so does the formal
specification of a complex safety critical system during its design process. In this scenario, we
will focus on changes in both DSTM specifications and their Promela executable semantics. In
such evolutionary contexts, to validate the new model one should: (i) execute all the previously
assessed simulations (test cases); and (ii) generate new test cases to improve coverage metrics
of the new specification (state/transition coverage of DSTM specification or Promela line code
coverage for the executable semantics). Following the encouraging experience in the case of
software regression testing guided by code churn, we are confident that benefits can be derived
in the validation cost of the specification evolution: (i) simulations priority can be rearranged
according to their impact on changed parts; (ii) costly automatic test generation routines based
on model checking techniques can be invoked only for changed parts not covered by simulations
at point (i). Notice that in the context of DSTM specifications, changes can be evaluated at two
diferent detail levels: either at the more abstract detail of DSTM specification or at a more
detailed level considering Promela code automatically generated from DSTM specifications. A
graphical sketch of the outlined process is depicted in Figure 1.</p>
      <p>
        We are currently working on the application of Tree Kernel functions to evaluate the similarity,
and consequentially the degree of changes, of the tree XML representation of the DSTM model
and of ASTs of the executable semantic given by Promela. As Tree Kernels proved useful in
capturing the similarity of HTML documents [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], we are confident that they can produce fruitful
results also in the analysis of DSTM models serialization (e.g., in XML format). Furthermore, as
the Promela encoding of a model is a fully-qualified programming language, it is possible to
extract AST representations from the encoding and thus analyze their similarity using the same
promising approach we designed for RTP.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>In this paper, we discussed an application of similarity measures to aid formal verification
activities in an evolving software, which we are currently investigating. We are designing
and implementing methods to use Tree Kernels on hierarchical models produced by DSTM
specifications and on the artifacts produced by the description language Promela, both having a
natural tree-based representation. Our research is motivated by our previous and promising
studies of Tree Kernels to measure code similarity in the Regression Test Prioritization domain.</p>
      <p>The analysis of changes in the DSTM specifications can indeed drive the test generation to
stress the most critically changed parts in the software. As formal methods-based test generation
is a costly task, focusing on the critical sections could save important resources and - we envision
- lead to an earlier discovery of faults.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>This work was partially funded by the PNRR MUR project PE0000013-FAIR.
Smoothed partial tree kernel, in: Proceedings of the 20th ACM International Conference
on Information and Knowledge Management, CIKM ’11, Association for Computing
Machinery, New York, NY, USA, 2011, p. 2013–2016. doi:10.1145/2063576.2063878.
[12] A. Moschitti, Making tree kernels practical for natural language learning., in: Proceedings
of the 11th Conference of the European Chapter of the Association for Computational
Linguistics, 2006, p. 113–120.
[13] I. Baxter, A. Yahin, L. Moura, M. Sant’Anna, L. Bier, Clone detection using abstract
syntax trees, in: Proceedings. International Conference on Software Maintenance (Cat.</p>
      <p>No. 98CB36272), 1998, pp. 368–377. doi:10.1109/ICSM.1998.738528.
[14] J. Zhang, X. Wang, H. Zhang, H. Sun, K. Wang, X. Liu, A novel neural source code
representation based on abstract syntax tree, in: 2019 IEEE/ACM 41st International
Conference on Software Engineering (ICSE), 2019, pp. 783–794. doi:10.1109/ICSE.2019.
00086.
[15] B. Cui, J. Li, T. Guo, J. Wang, D. Ma, Code comparison system based on abstract syntax
tree, in: 2010 3rd IEEE International Conference on Broadband Network and Multimedia
Technology (IC-BNMT), 2010, pp. 668–673. doi:10.1109/ICBNMT.2010.5705174.
[16] G. Rothermel, R. Untch, C. Chu, M. Harrold, Prioritizing test cases for regression testing,</p>
      <p>IEEE Transactions on Software Engineering 27 (2001) 929–948. doi:10.1109/32.962562.
[17] F. Altiero, G. Colella, A. Corazza, S. Di Martino, A. Peron, L. L. Starace, Change-aware
regression test prioritization using genetic algorithms, in: 2022 48th Euromicro Conference
on Software Engineering and Advanced Applications (SEAA), IEEE, 2022, pp. 125–132.
[18] F. Altiero, A. Corazza, S. Di Martino, A. Peron, L. L. Starace, Recover: A curated dataset
for regression testing research, in: Proceedings of the 19th International Conference on
Mining Software Repositories, 2022, pp. 196–200.
[19] J.-M. Kim, A. Porter, A history-based test prioritization technique for regression testing in
resource constrained environments, in: Proceedings of the 24th International Conference
on Software Engineering, ICSE ’02, Association for Computing Machinery, New York, NY,
USA, 2002, p. 119–129. doi:10.1145/581339.581357.
[20] F. Altiero, A. Corazza, S. Di Martino, A. Peron, L. L. L. Starace, Inspecting code churns to
prioritize test-cases, in: Testing Software and Systems: 32nd IFIP WG 6.1 International
Conference, ICTSS 2020, Naples, Italy, December 9–11, 2020, Proceedings, Springer-Verlag,
Berlin, Heidelberg, 2020, p. 272–285. doi:10.1007/978-3-030-64881-7_17.
[21] F. Altiero, A. Corazza, S. Di Martino, A. Peron, L. L. L. Starace, AI-Based fault-proneness
metrics for source code changes, in: International Conference on Software Process and
Product Measurement (IWSM/MENSURA) 23, 2023.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Benerecetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. D.</given-names>
            <surname>Guglielmo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Gentile</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Marrone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Mazzocca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Nardone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Peron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Velardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vittorini</surname>
          </string-name>
          ,
          <article-title>Dynamic state machines for modelling railway control systems</article-title>
          ,
          <source>Sci. Comput</source>
          . Program.
          <volume>133</volume>
          (
          <year>2017</year>
          )
          <fpage>116</fpage>
          -
          <lpage>153</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.scico.
          <year>2016</year>
          .
          <volume>09</volume>
          .002.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Benerecetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Gentile</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Marrone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Nardone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Peron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. L.</given-names>
            <surname>Starace</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vittorini</surname>
          </string-name>
          ,
          <article-title>From dynamic state machines to promela</article-title>
          ,
          <source>in: Model Checking Software: 26th International Symposium, SPIN</source>
          <year>2019</year>
          , Beijing, China,
          <source>July 15-16</source>
          ,
          <year>2019</year>
          , Proceedings 26, Springer,
          <year>2019</year>
          , pp.
          <fpage>56</fpage>
          -
          <lpage>73</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Benerecetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mogavero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Peron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. L. L.</given-names>
            <surname>Starace</surname>
          </string-name>
          ,
          <article-title>Expressing structural temporal properties of safety critical hierarchical systems</article-title>
          ,
          <source>in: Quality of Information and Communications Technology: 14th International Conference, QUATIC</source>
          <year>2021</year>
          , Algarve, Portugal, September 8-
          <issue>11</issue>
          ,
          <year>2021</year>
          , Proceedings 14, Springer,
          <year>2021</year>
          , pp.
          <fpage>356</fpage>
          -
          <lpage>369</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R.</given-names>
            <surname>Nardone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Marrone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Gentile</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Amato</surname>
          </string-name>
          , G. Barberio,
          <string-name>
            <given-names>M.</given-names>
            <surname>Benerecetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. D.</given-names>
            <surname>Guglielmo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. D.</given-names>
            <surname>Martino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Mazzocca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Peron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Pisani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Velardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vittorini</surname>
          </string-name>
          ,
          <article-title>An oslc-based environment for system-level functional testing of ERTMS/ETCS controllers</article-title>
          ,
          <source>J. Syst. Softw</source>
          .
          <volume>161</volume>
          (
          <year>2020</year>
          ). doi:
          <volume>10</volume>
          .1016/j.jss.
          <year>2019</year>
          .
          <volume>110478</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Haussler</surname>
          </string-name>
          , Convolution Kernels on Discrete Structures,
          <source>Technical Report UCS-CRL99-10</source>
          , University of California at Santa Cruz, Santa Cruz, CA, USA,
          <year>1999</year>
          . URL: http: //citeseer.ist.psu.edu/haussler99convolution.html.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>D.</given-names>
            <surname>Liga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Palmirani</surname>
          </string-name>
          ,
          <article-title>Classifying argumentative stances of opposition using tree kernels</article-title>
          ,
          <source>in: Proceedings of the 2019 2nd International Conference on Algorithms, Computing and Artificial Intelligence</source>
          , ACAI '19,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2020</year>
          , p.
          <fpage>17</fpage>
          -
          <lpage>22</lpage>
          . doi:
          <volume>10</volume>
          .1145/3377713.3377717.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Hovy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Srivastava</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jauhar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sachan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Goyal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Sanders</surname>
          </string-name>
          , E. Hovy,
          <article-title>Identifying metaphorical word use with tree kernels</article-title>
          ,
          <source>in: Proceedings of the First Workshop on Metaphor in NLP, Association for Computational Linguistics</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>52</fpage>
          -
          <lpage>57</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Corazza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. Di</given-names>
            <surname>Martino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Maggio</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Scanniello, A tree kernel based approach for clone detection</article-title>
          ,
          <source>in: 2010 IEEE International Conference on Software Maintenance</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          . doi:
          <volume>10</volume>
          .1109/ICSM.
          <year>2010</year>
          .
          <volume>5609715</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Corazza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. Di</given-names>
            <surname>Martino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Peron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. L. L.</given-names>
            <surname>Starace</surname>
          </string-name>
          ,
          <article-title>Web application testing: Using tree kernels to detect near-duplicate states in automated model inference</article-title>
          ,
          <source>in: Proceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)</source>
          ,
          <source>ESEM '21</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2021</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . doi:
          <volume>10</volume>
          .1145/3475716.3484187.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Moschitti</surname>
          </string-name>
          ,
          <article-title>Eficient convolution kernels for dependency and constituent syntactic trees</article-title>
          , in: J.
          <string-name>
            <surname>Fürnkranz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Schefer</surname>
          </string-name>
          , M. Spiliopoulou (Eds.),
          <source>Machine Learning: ECML 2006</source>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2006</year>
          , pp.
          <fpage>318</fpage>
          -
          <lpage>329</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Croce</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Moschitti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Basili</surname>
          </string-name>
          ,
          <article-title>Semantic convolution kernels over dependency trees:</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>