<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>1390-6542</journal-id>
<journal-title><![CDATA[Enfoque UTE]]></journal-title>
<abbrev-journal-title><![CDATA[Enfoque UTE]]></abbrev-journal-title>
<issn>1390-6542</issn>
<publisher>
<publisher-name><![CDATA[Universidad UTE]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1390-65422023000400017</article-id>
<article-id pub-id-type="doi">10.29019/enfoqueute.957</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[GAST: A Generic AST Representation for Language-Independent Source Code Analysis]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Leiton-Jimenez]]></surname>
<given-names><![CDATA[Jason]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Barboza-Artavia]]></surname>
<given-names><![CDATA[Luis]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Gonzalez-Torres]]></surname>
<given-names><![CDATA[Antonio]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Brenes-Jimenez]]></surname>
<given-names><![CDATA[Pablo]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Pacheco-Portuguez]]></surname>
<given-names><![CDATA[Steven]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Navas-Su]]></surname>
<given-names><![CDATA[Jose]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Hernandez-Vasquez]]></surname>
<given-names><![CDATA[Marco]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Solano-Cordero]]></surname>
<given-names><![CDATA[Jennier]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Hernandez-Castro]]></surname>
<given-names><![CDATA[Franklin]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Trejos-Zelaya]]></surname>
<given-names><![CDATA[Ignacio]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Arce-Orozco]]></surname>
<given-names><![CDATA[Armando]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
</contrib-group>
<aff id="Af1">
<institution><![CDATA[,Costa Rica Institute of Technology Department of Computer Engineering ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<aff id="Af2">
<institution><![CDATA[,Costa Rica Institute of Technology Department of Computer Engineering ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<aff id="Af3">
<institution><![CDATA[,Costa Rica Institute of Technology Department of Computer Engineering ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<aff id="Af4">
<institution><![CDATA[,Costa Rica Institute of Technology School of Computing ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<aff id="Af5">
<institution><![CDATA[,Costa Rica Institute of Technology School of Computing ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<aff id="Af6">
<institution><![CDATA[,Costa Rica Institute of Technology School of Computing ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<aff id="Af7">
<institution><![CDATA[,Costa Rica Institute of Technology Department of Computer Engineering ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<aff id="Af8">
<institution><![CDATA[,Costa Rica Institute of Technology Department of Computer Engineering ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<aff id="Af9">
<institution><![CDATA[,Costa Rica Institute of Technology School of Industrial Design ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<aff id="A10">
<institution><![CDATA[,Costa Rica Institute of Technology School of Computing ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<aff id="A11">
<institution><![CDATA[,Costa Rica Institute of Technology School of Computing ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Costa Rica</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2023</year>
</pub-date>
<volume>14</volume>
<numero>4</numero>
<fpage>17</fpage>
<lpage>34</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.senescyt.gob.ec/scielo.php?script=sci_arttext&amp;pid=S1390-65422023000400017&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.senescyt.gob.ec/scielo.php?script=sci_abstract&amp;pid=S1390-65422023000400017&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.senescyt.gob.ec/scielo.php?script=sci_pdf&amp;pid=S1390-65422023000400017&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[Abstract: Organizations use various programming languages to develop their systems. These aim to take advantage of the most appropriate features of each language for a given domain and require programmers to command different languages and also to face the growing complexity of software development and maintenance. So, they need tools to help them analyze programs to identify relationships between their internal elements, uncover patterns, and calculate quality metrics. However, most tools have limited support for parsing multiple programming languages and high acquisition costs. Therefore, there is a need for new methods to analyze code written in multiple programming languages. This article describes the design of a method to automatically transform the syntax of various programming languages into a universal language with a generic syntax. The function of the generic language is to encapsulate the specificities of each specific language, so that the analysis of programs is facilitated in a single programming syntax and not in multiple syntaxes. The advantage of this approach is that only one analysis engine is required, not multiple code analyzers, to study the programs.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[Resumen: Las organizaciones usan varios lenguajes de programación para desarrollar sus sistemas. Estas utilizan las características mas apropiadas de cada lenguaje para un dominio determinado. Por su parte los programadores deben tener dominio de diferentes lenguajes para hacer frente a la creciente complejidad del desarrollo y mantenimiento del software. Así que necesitan herramientas que les ayuden a realizar esas tareas. Esas herramientas deben ser capaces de analizar los programas para identificar las relaciones entre sus elementos internos, ayudar a descubrir patrones y calcular métricas de calidad. Sin embargo, la mayoría tienen soporte limitado para analizar diversos lenguajes de programación y altos costos de adquisición. Por lo que existe la necesidad de contar con nuevos métodos para analizar el código escrito en múltiples lenguajes de programación. Este artículo describe el diseño de un método para transformar automáticamente la sintaxis de varios lenguajes de programación en un lenguaje universal con una sintaxis genérica. La función del lenguaje genérico es encapsular las especificidades de cada lenguaje concreto, de manera que se facilite el análisis de programas en una sola sintaxis de programación y no en múltiples sintaxis. La ventaja de este enfoque es que solo se requiere un motor de análisis, no varios analizadores de código, para estudiar los programas.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[Code transformation]]></kwd>
<kwd lng="en"><![CDATA[Generic Abstract Syntax Tree]]></kwd>
<kwd lng="en"><![CDATA[Generic Language]]></kwd>
<kwd lng="en"><![CDATA[Code Analysis]]></kwd>
<kwd lng="es"><![CDATA[Transformación de código]]></kwd>
<kwd lng="es"><![CDATA[árbol de sintaxis abstracta genérica]]></kwd>
<kwd lng="es"><![CDATA[lenguaje genérico]]></kwd>
<kwd lng="es"><![CDATA[análisis de código]]></kwd>
</kwd-group>
</article-meta>
</front><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nanz]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Furia]]></surname>
<given-names><![CDATA[C. A]]></given-names>
</name>
</person-group>
<source><![CDATA[&#8220;A Comparative Study of Programming Languages in Rosetta Code,&#8221;]]></source>
<year>2015</year>
<conf-name><![CDATA[ IEEE/ACM 37th IEEE International Conference on Software Engineering]]></conf-name>
<conf-date>2015</conf-date>
<conf-loc>Florence, Italy </conf-loc>
<page-range>778-88</page-range></nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="">
<article-title xml:lang=""><![CDATA[Multilingual Source Code Analysis: A Aystematic Literature Review,]]></article-title>
<person-group person-group-type="author">
<name>
<surname><![CDATA[Mushtaq]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Rasool]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Shehzad]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
</person-group>
<source><![CDATA[IEEE Access]]></source>
<year>2017</year>
<volume>5</volume>
<page-range>11307-36</page-range></nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[D&#8217;Ambros]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Gall]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Lanza]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Pinzger]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[&#8220;Analysing software repositories to understand software evolution,&#8221;]]></source>
<year>2008</year>
<page-range>37-67</page-range></nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="">
<collab>Sonar</collab>
<source><![CDATA[&#8220;Sonarqube,&#8221;]]></source>
<year>2023</year>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="journal">
<article-title xml:lang=""><![CDATA[&#8220;The Story of Moose: an Agile Reengineering Environment,&#8221;]]></article-title>
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nierstrasz]]></surname>
<given-names><![CDATA[O.]]></given-names>
</name>
<name>
<surname><![CDATA[Ducasse]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[G&#464;rba]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
</person-group>
<source><![CDATA[ACM SIGSOFT Software Engineering Notes]]></source>
<year></year>
<volume>30</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>1-10</page-range></nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="journal">
<article-title xml:lang=""><![CDATA[&#8220;Mitigating the Effects of Equivalent Mutants with Mutant Classification Strategies,&#8221;]]></article-title>
<person-group person-group-type="author">
<name>
<surname><![CDATA[Papadakis]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Delamaro]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Le Traon]]></surname>
<given-names><![CDATA[Y.]]></given-names>
</name>
</person-group>
<source><![CDATA[Science of Computer Programming]]></source>
<year>2014</year>
<volume>95</volume>
<page-range>298-319</page-range></nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bastidas]]></surname>
<given-names><![CDATA[F. A.]]></given-names>
</name>
<name>
<surname><![CDATA[Pérez]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[&#8220;A Systematic Review on Transpiler Usage for Transaction-Oriented Applications,&#8221;]]></source>
<year>2018</year>
<conf-name><![CDATA[ 2018 IEEE Third Ecuador Technical Chapters Meeting (ETCM)]]></conf-name>
<conf-date>2018</conf-date>
<conf-loc> </conf-loc>
<page-range>1-6</page-range></nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="journal">
<article-title xml:lang=""><![CDATA[&#8220;An Approach for Exploring Code Improving Transformations,&#8221;]]></article-title>
<person-group person-group-type="author">
<name>
<surname><![CDATA[Whitfield]]></surname>
<given-names><![CDATA[D. L.]]></given-names>
</name>
<name>
<surname><![CDATA[Sofia]]></surname>
<given-names><![CDATA[M. L.]]></given-names>
</name>
</person-group>
<source><![CDATA[ACM Transactions on Programming Languages Systems]]></source>
<year>1997</year>
<volume>19</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>1053-84</page-range></nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[An]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Meng]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Tilevich]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
</person-group>
<source><![CDATA[&#8220;Automatic Inference of Java-to-Swift Translation Rules for Porting Mobile Applications,&#8221;]]></source>
<year>2018</year>
<conf-name><![CDATA[ 5th International Conference on Mobile Software Engineering and Systems]]></conf-name>
<conf-date>2018</conf-date>
<conf-loc> </conf-loc>
<page-range>180-90</page-range></nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Diigahayu]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Huda]]></surname>
<given-names><![CDATA[S. N.]]></given-names>
</name>
<name>
<surname><![CDATA[Zukhri]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Ratnasari]]></surname>
<given-names><![CDATA[C. I.]]></given-names>
</name>
</person-group>
<source><![CDATA[&#8220;Automatic Translation from Pseudocode to Source Code: A Conceptual-Metamodel Approach,&#8221;]]></source>
<year>2017</year>
<conf-name><![CDATA[ 2017 IEEE International Conference on Cybernetics and Computational Intelligence (CybemeticsCom)]]></conf-name>
<conf-date>2017</conf-date>
<conf-loc> </conf-loc>
<page-range>122-8</page-range></nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="">
<article-title xml:lang=""><![CDATA[&#8220;CRUST: AC/C++ to Rust Transpiler Using a &#8220;Nano-parser Methodology&#8221; to Avoid C/C++ Safety Issues in Legacy Code,&#8221;]]></article-title>
<person-group person-group-type="author">
<name>
<surname><![CDATA[Shetty]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Saldanha]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Thippeswamy]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[Advances in Intelligent Systems and Computing]]></source>
<year>2019</year>
<page-range>241-50</page-range></nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="journal">
<article-title xml:lang=""><![CDATA[&#8220;Program Language Translation Using a Grammar-Driven Tree-to-Tree Model,&#8221;]]></article-title>
<person-group person-group-type="author">
<name>
<surname><![CDATA[Drissi]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Watkins]]></surname>
<given-names><![CDATA[O.]]></given-names>
</name>
<name>
<surname><![CDATA[Khant]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Ojha]]></surname>
<given-names><![CDATA[V.]]></given-names>
</name>
<name>
<surname><![CDATA[Sandoval]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Segev]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Weiner]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Keller]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<source><![CDATA[arXiv]]></source>
<year>2018</year>
</nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="">
<article-title xml:lang=""><![CDATA[&#8220;Tree-to-Tree Neural Networks for Program Translation&#8221;]]></article-title>
<person-group person-group-type="author">
<name>
<surname><![CDATA[Xinyun]]></surname>
<given-names><![CDATA[Chen]]></given-names>
</name>
<name>
<surname><![CDATA[Chang]]></surname>
<given-names><![CDATA[Liu]]></given-names>
</name>
<name>
<surname><![CDATA[Dawn]]></surname>
<given-names><![CDATA[Song]]></given-names>
</name>
</person-group>
<source><![CDATA[arXiv]]></source>
<year>2018</year>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="journal">
<article-title xml:lang=""><![CDATA[&#8220;Unsupervised Translation of Programming Languages,&#8221;]]></article-title>
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lachaux]]></surname>
<given-names><![CDATA[M.A.]]></given-names>
</name>
<name>
<surname><![CDATA[Roziere]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[Chanussot]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Lample]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<source><![CDATA[arXiv]]></source>
<year>2020</year>
</nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="journal">
<article-title xml:lang=""><![CDATA[&#8220;A Syntactic Neural Model for General-Purpose Code Generation,&#8221;]]></article-title>
<person-group person-group-type="author">
<name>
<surname><![CDATA[Yin]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Neubig]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<source><![CDATA[arXiv]]></source>
<year>2017</year>
</nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="journal">
<article-title xml:lang=""><![CDATA[&#8220;Abstract Syntax Networks for Code Generation and Semantic Parsing,&#8221;]]></article-title>
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rabinovich]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Stem]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Klein]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<source><![CDATA[arXiv]]></source>
<year>2017</year>
</nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Oda]]></surname>
<given-names><![CDATA[Y.]]></given-names>
</name>
<name>
<surname><![CDATA[Fudaba]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Neubig]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Hata]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Sakti]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Toda]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Nakamura]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<source><![CDATA[&#8220;Learning to Generate Pseudo-Code from Source Code Using Statistical Machine Translation,&#8221;]]></source>
<year>2015</year>
<conf-name><![CDATA[ 2015 30th 1EEEJACM International Conference on Automated Software Engineering (ASE)]]></conf-name>
<conf-date>2015</conf-date>
<conf-loc> </conf-loc>
<page-range>574- 584</page-range></nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nguyen]]></surname>
<given-names><![CDATA[A. T.]]></given-names>
</name>
<name>
<surname><![CDATA[Nguyen]]></surname>
<given-names><![CDATA[T. T.]]></given-names>
</name>
<name>
<surname><![CDATA[Nguyen]]></surname>
<given-names><![CDATA[T. N.]]></given-names>
</name>
</person-group>
<source><![CDATA[&#8220;Migrating Code with Statistical Machine Translation,&#8221;]]></source>
<year>2014</year>
<conf-name><![CDATA[ Companion Proceedings of the 36th International Conference on Software Engineering]]></conf-name>
<conf-date>2014</conf-date>
<conf-loc> </conf-loc>
<page-range>544-7</page-range></nlm-citation>
</ref>
<ref id="B19">
<nlm-citation citation-type="">
<collab>OMG</collab>
<source><![CDATA[About the Meta Object Facility Specification, Version 2.5.1]]></source>
<year>2016</year>
</nlm-citation>
</ref>
<ref id="B20">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Parr]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
</person-group>
<source><![CDATA[The Definitive ANTLR 4 Reference]]></source>
<year>2013</year>
<publisher-name><![CDATA[Pragmatic Bookshelf]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B21">
<nlm-citation citation-type="">
<collab>Mapstruct</collab>
<source><![CDATA[Mapstruct Java Bean]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B22">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Ma]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[Xia]]></surname>
<given-names><![CDATA[X.]]></given-names>
</name>
<name>
<surname><![CDATA[Jin]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
</person-group>
<source><![CDATA[&#8220;Detecting Code Clones with Graph Neural Network and Flow-Augmented Abstract Syntax Tree,&#8221;]]></source>
<year>2020</year>
<conf-name><![CDATA[ 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER)]]></conf-name>
<conf-date>2020</conf-date>
<conf-loc> </conf-loc>
<page-range>261-71</page-range></nlm-citation>
</ref>
<ref id="B23">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Navas-Sú]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[González-Torres]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<source><![CDATA[&#8220;A Method to Extract Indirect Coupling and Measure its Complexity,&#8221;]]></source>
<year>2018</year>
<conf-name><![CDATA[ 2018 International Conference on Information Systems and Computer Science (INCISCOS)]]></conf-name>
<conf-date>2018</conf-date>
<conf-loc> </conf-loc>
<page-range>186-92</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
