<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Belgium-Netherlands Software Evolution Workshop, Mons</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>FAIRSECO: An infrastructure for measuring impact of research software</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Slinger Jansen</string-name>
          <email>slinger.jansen@uu.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elena Baninemeh</string-name>
          <email>e.baninemeh@uu.nl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Siamak Farshidi</string-name>
          <email>s.farshidi@uu.nl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Lappeenranta University</institution>
          ,
          <addr-line>Lappeenranta</addr-line>
          ,
          <country country="FI">Finland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Utrecht University</institution>
          ,
          <addr-line>Utrecht</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>1</volume>
      <fpage>2</fpage>
      <lpage>13</lpage>
      <abstract>
        <p>Finding research software is a complex task, as research software engineers regularly search for algorithms and methods deeply embedded in large software packages during the creation of research software. Furthermore, they go through lengthy evaluation and extraction processes to find one particular algorithm relevant to their research project. Additionally, for creators of research software, it is hard to show the impact that their code has made on the field, and only very course measures exist for evaluating the success of research software. This study introduces the concept of FAIRSECO, which aims to enable research software engineers to rapidly find and extract relevant software fragments from the worldwide research software ecosystem. Research software engineers from all fields can transplant these source code fragments, maintain the provenance of source code, and easily credit the original authors of the software. Simultaneously, the platform also enables research software engineers to report on their software's impact. With FAIRSECO, we introduce a platform for research software engineers that creates a “method economy”, i.e., where smaller granularity reuse becomes possible while increasing FAIRness (Findable, Accessible, Interoperable, and Reusable) of the worldwide research software ecosystem.</p>
      </abstract>
      <kwd-group>
        <kwd>FAIR Software</kwd>
        <kwd>research software</kwd>
        <kwd>software engineering</kwd>
        <kwd>software repository</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Research Software Engineers (RSEs) have many ways to search for source code in the Worldwide
Research Software Ecosystem (WRSE) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Unfortunately, these search methods sufer from
weaknesses, hampering scientific progress. One of the problems is granularity: it is possible to
search through code on a file-level and cover a significant part of the WRSE or search for a line
of code but only cover a small part of the WRSE [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], but not both.
      </p>
      <p>
        RSEs reuse research software to perform extensive searches to find relevant software
components for their problem [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. They are typically looking for a small set of features in a more
significant software component. Secondly, they must painstakingly extract the identified source
code and adapt it to their projects [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        This study introduces the concept of FAIRSECO, which aims to enable RSEe to rapidly find and
extract relevant software fragments from the Worldwide Research Software Ecosystem (WRSE).
nEvelop-O
LGOBE
RSEs from all fields can transplant these source code fragments, maintain the provenance of
source code, and easily credit the original authors of the software. Simultaneously, the platform
also enables RSEs to report on their software’s impact [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        FAIRSECO enables RSEs to reuse source code fragments, maintain the provenance of their
source code, and easily credit the original authors of the software. Simultaneously, the platform
also empowers RSEs to report on their software’s impact. These two afordances are a radical
and necessary innovation that make the WRSE more FAIR1. We propose a new approach to
extract software and software meta-data at the level of software methods , to enable RSEs to
identify code relevant to them, easily extract it from an open-source package, and reuse it on
their own. With a relatively small investment, we unearth the relationships between code
fragments, code files, and their projects on a worldwide scale for research software, enabling a
more robust method of measuring software impact [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. We can map a significant part of the
WRSE with FAIRSECO.
      </p>
      <p>
        Research software is defined as “software that is used to generate, process or analyse results
that you intend to appear in a publication (either in a journal, conference paper, monograph,
book or thesis)” [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Software is insuficiently seen as an output of the research process. This is
surprising, as approximately half the published articles in Nature, mention the word “software”
in their title, abstract, or introduction. It is essential that the software engineering community
takes a stronger stance on this and actively starts promoting research software as one of the
many fruits from our practice. Measuring the impact of research software is harder than, for
instance, traditional citation score analysis [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. With FAIRSECO we aim to make transparent
what research software has made the largest impact, is trending, and should be invested in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>We come to the following research questions (RQs):
• MRQ: How can research software be made FAIR at the method level?
• RQ1: How can method reuse be identified in the worldwide research software ecosystem?
• RQ2: How can research software impact be measured and made transparent?
• RQ3: How can reusable research software be found at the method level?
• RQ4: How can research software be extracted from existing software packages at the
method level?
• RQ5: How can research software engineers be stimulated to report reuse in the software
engineering process?</p>
      <p>In the next Section we explain how FAIRSECO will be built and what technological challenges
are foreseen. In Section 3 is explained how FAIRSECO will in fact contribute to more FAIRNESS,
for instance by providing screen shots of what the system interface will look like. In Section 4
we explain how we plan to proceed with this project and what we see as our main challenges
in the research work, such as the evaluation of the research software portals that we create.
Finally, in Section 5 we present the radical idea of being able to get a PhD on written software
alone and subsequently, nuance it.</p>
    </sec>
    <sec id="sec-2">
      <title>2. FAIRSECO Architecture</title>
      <p>
        FAIRSECO is dependent on SearchSECO [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], which was presented at BENEVOL’20.
SearchSECO is a large database of methods of the top rated projects (with “stars”) on Github.
SearchSECO clones a git project, extracts a number of versions, and extracts the files and authors
from those versions. The files are subsequently processed and each method that is
encountered that is longer than 5 lines is stored. The method’s abstract syntax tree is extracted and
a representation of this abstract syntax tree is hashed. SearchSECO currently parses Java,
Javascript, C/C++, and Python. SearchSECO is itself a project on Github and can be found
via: https://github.com/SecureSECO/SearchSECOController. Furthermore, the database can
be accessed through a portal: https://secureseco.science.uu.nl/portal/. In this portal (please
note this is not the FAIRSECO search portal) visitors can enter their own project link and email
address. After the project has been processed and matched, the visitor receives a report of the
matches in the SearchSECO database and can determine if there are any potentially
vulnerable fragments in their project. Currently (June 14th 2022), the database contains 19 million
unique methods from approximately 100 thousand projects from Github. From hereon we refer
to the whole infrastructure of SearchSECO as FAIRSECO, as FAIRSECO builds on top of the
SearchSECO infrastructure. Please note that SearchSECO is directed at any kind of software on
GitHub, while FAIRSECO only targets research software. We are currently developing methods
for identifying research software, using indexes and qualifiers used by https://fair-software.nl.
      </p>
      <p>
        A mock-up of the FAIRSECO platform is shown in Figure 1. The figure shows two pages of
the platform: the main search portal and a method that has been identified as potentially useful.
In the long run, we can also imagine a rich text index that categorizes methods and functions
that are easy to extract, for instance, categorizing methods along with characteristics such as
categories (machine learning, graph mining, etc.) and technologies (graph databases, microscope
software, etc.). Furthermore, we plan to develop an integrated development environment that
automatically suggests code for an existing project. FAIRSECO experimentally prioritizes those
annotated methods that best match the search of the RSEs, and that are relatively easy to extract.
It is also essential that well-structured and written software is ranked higher than poorly written
software. Some methods will be visited often and thereby might also be more successful in
providing the RSE with what they need. The result page, shown on the right side of Figure 1,
shows a fragment of the code that is to be extracted, its call graph, and an extensive description
of the code to help the RSE in determining whether this code is relevant. As the code is extracted,
we also add a comment tag to the code that references back to the original code, including
license information to promote FAIR software reuse and impact measurement [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. A More FAIR Worldwide Research Software Ecosystem</title>
      <p>
        FAIRSECO provides mechanisms for making the WRSE more FAIR [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>• Findable - FAIRSECO has two mechanisms that make code in the WRSE more findable.</p>
      <p>First, we are the first to use code hashing for a worldwide scope of software, thereby
creating a highly performant and scalable database of WRSE source code. Secondly,
because each method is annotated with its project’s meta-data, we enable RSEs to rapidly
ifnd the methods they need. In the future we envision enriching this data further.
• Accessible - FAIRSECO provides access to the innards of many WRSE projects. The
main goal of FAIRSECO is to save the RSE from having to go through the time-consuming
process of locating algorithms in source code, only to conclude that it does not fit the
RSE’s needs.
• Interoperable - The main goal of the project is to create a ‘method economy’ instead
of a package economy, where RSEs can go to the method level immediately in reusing
code. Code should be easily extractable from existing projects, for instance, by enabling
automated encapsulation of components.
• Reusable - Once the code has been identified and extracted, it should be easy to reuse in
the new code base without violating licenses, and accidentally copying vulnerabilities
(because we store this data in SearchSECO). FAIRSECO maintains meta-data about projects
to check for license compatibilities. Furthermore, as full project histories are maintained,
it becomes possible to support co-evolution across projects.</p>
      <p>This section describes several use cases to illustrate how RSEs can use FAIRSECO to make
the WRSE more FAIR.</p>
      <p>First, one should envision the FAIRSECO code index as a large database of worldwide software
fragments, against which any code can be compared. When an RSE takes their code and
compares it to the FAIRSECO database, they can gather data on the following: (1) They can look
for code clones within their project and use its call graph to establish the project’s code quality,
complexity, and cloning. If matching code clones are found outside of the project, several things
become possible. They can perform license checks that establish whether their license conforms
to the licenses from the other projects from which they reuse code. (2) They can see whether
that code has already evolved within those projects, and they can choose to apply the same
patches to their code. Also, they can see whether the code that matches was cloned from their
project, whereby they can establish the impact of their code in the WRSE. (3) They can identify
whether their code is matched with existing vulnerable code and decide whether they wish to
ifx these vulnerabilities in their code.</p>
      <p>
        Secondly, the RSE can look for existing code in the FAIRSECO code index to reuse it. They
could, for instance, look for “Pareto analysis” in the FAIRSECO code index. If they find
appropriate matches, it becomes possible to lift and transplant [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] that code into their project. The
technique for transplanting this code is still under development, but we use the call graph to
decide how to get a minimum code slice to transplant.
      </p>
      <p>Finally, the RSE can use the code index to determine whether their project has been reused in
the W(R)SE. Furthermore, they can use the matches with their code to create a “bill of materials”,
that can support them to create citations to existing source code.</p>
      <p>One of the partners in our project is the eScience Center, who are behind the
ResearchSoftware.nl portal. They would like to extend the portal with impact measurement features,
such as visualized in figure 2. The most interesting metrics from an impact perspective are
found at the bottom of the screenshot, where we indicate how many packages are reusing the
research software, how many packages depend on the software, and how often the software is
cited.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Current Status</title>
      <p>Currently, SearchSECO is storing little meta-data about projects. One of the extensions needed
is the FAIRSECO meta-data component, which stores particular meta-data about a project, such
as the read.me file, the authors of the method, and the dependencies on other methods in other
projects. These meta-data are required to identify which projects contain usable methods, which
projects depend on which others, etc.</p>
      <p>
        A dependency extraction mechanism is needed, such as FASTEN [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], World-of-Code, or the
data in libraries.io to extract the dependencies. We propose that we do not build these ourselves,
but use common infrastructures such as the ones mentioned above, or extend them. Also, we
need a parsing and extraction architecture that enables the rapid extraction of methods from
code files, including the call graph in a project.
      </p>
      <p>The search engine front end needs to be built. While it will be relatively easy to create a
mock-up inspired by Figure 1, it will be hard to actually create the working parts. For an MVP,
we are most interested at this point in a simple search function and an extraction function.</p>
      <p>The easiest to create in this software project is probably the reporting service for research
software projects. Basically, we need to take the output from SearchSECO and process it to
generate a report about the scientific project reuse. We want to know which projects are
dependent on this project, which of those are scientific, and which projects have copied code
from this project or are copied into this project. The citation.cf file in Github can be used as a
marker to identify whether a project is academic or not. As this project is starting later in the
year, this project may be already finished by then.</p>
      <p>When the artifacts envisioned in this project are created, we need success criteria to define and
measure our own impact. Ideally, our software will be integrated with the Research-Software.nl
portal, but we also need to evaluate artifacts such as the search engine in our work. We plan to
do this by evaluating the artifacts with RSEs in an incremental process, where new features are
added after each round of evaluation.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion and Conclusion</title>
      <p>This study presents the concept of FAIRSECO, a search engine and research platform that
searches through abstract representations of research software. FAIRSECO may become the
entry point into the WRSE, where all RSEs go to find and extract source code for their complex
compositions of projects. Furthermore, FAIRSECO aims to provide a significant contribution
to the WRSE, by making software available that makes research software impact analysis fast,
easy, and accessible.</p>
      <p>A current trend in research evaluation is that we are increasingly asked to look at other
things than citation analysis. A contributing member of the research community does not only
write papers and articles, but also writes software. We are not yet convinced that we can one
day provide RSEs with a PhD solely on their software, but we do believe that FAIRSECO can
help RSEs better show the impact of their work.</p>
      <p>We aim to further extend FAIRSECO by adding the following features. First, we have not
implemented attribution into the platform yet, i.e., projects are stored from Github with their
descriptions without any extra annotations about them being research software. Secondly, we
do not have any citation generation capabilities, including a scientific bill of materials with a new
release of research software. Thirdly, we are looking for manners to ‘lift’ software fragments out
of their code base for efective code transplantation. Fourthly, we wish to support our tooling
with a licensing compatibility checker to ensure that the research software follows intellectual
property rules and policies, also because we currently cannot handle custom licenses and only
take licensing data from GitHub. Six, we want to add publications as meta-data to software
projects, for easier reference. Finally, we intend to soon integrate other sources of software
such as GitLab.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J. E.</given-names>
            <surname>Hannay</surname>
          </string-name>
          , C. MacLeod, J. Singer,
          <string-name>
            <given-names>H. P.</given-names>
            <surname>Langtangen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Pfahl</surname>
          </string-name>
          , G. Wilson,
          <article-title>How do scientists develop and use scientific software?</article-title>
          , in: 2009 ICSE workshop
          <article-title>on software engineering for computational science and engineering</article-title>
          , Ieee,
          <year>2009</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S.</given-names>
            <surname>Jansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Cusumano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Brinkkemper</surname>
          </string-name>
          , Software Ecosystems:
          <article-title>Analyzing and Managing Business Networks in the Software Industry</article-title>
          , Edward Elgar Publishing,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Howison</surname>
          </string-name>
          , E. Deelman,
          <string-name>
            <surname>M. J. McLennan</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          <article-title>Ferreira da Silva</article-title>
          ,
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Herbsleb</surname>
          </string-name>
          ,
          <article-title>Understanding the scientific software ecosystem and its impact: Current and future measures</article-title>
          ,
          <source>Research Evaluation</source>
          <volume>24</volume>
          (
          <year>2015</year>
          )
          <fpage>454</fpage>
          -
          <lpage>470</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hucka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Graham</surname>
          </string-name>
          ,
          <article-title>Software search is not a science, even among scientists: A survey of how scientists and engineers find software</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>141</volume>
          (
          <year>2018</year>
          )
          <fpage>171</fpage>
          -
          <lpage>191</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>W.</given-names>
            <surname>Hasselbring</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Carr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hettrick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Packer</surname>
          </string-name>
          , T. Tiropanis,
          <article-title>From fair research data toward fair and open research software</article-title>
          ,
          <source>it-Information Technology</source>
          <volume>62</volume>
          (
          <year>2020</year>
          )
          <fpage>39</fpage>
          -
          <lpage>47</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Gousios</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kalliamvakou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Spinellis</surname>
          </string-name>
          ,
          <article-title>Measuring developer contribution from software repository data</article-title>
          ,
          <source>in: Proceedings of the 2008 international working conference on Mining software repositories</source>
          ,
          <year>2008</year>
          , pp.
          <fpage>129</fpage>
          -
          <lpage>132</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.-L.</given-names>
            <surname>Lamprecht</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Garcia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kuzak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Martinez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Arcila</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Martin Del Pico</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Dominguez Del Angel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Van De Sandt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ison</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Martinez</surname>
          </string-name>
          , et al.,
          <source>Towards fair principles for research software, Data Science</source>
          <volume>3</volume>
          (
          <year>2020</year>
          )
          <fpage>37</fpage>
          -
          <lpage>59</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>K.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.-Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          , E. Yan,
          <article-title>Challenges of measuring software impact through citations: An examination of the lme4 r package</article-title>
          ,
          <source>Journal of Informetrics</source>
          <volume>13</volume>
          (
          <year>2019</year>
          )
          <fpage>449</fpage>
          -
          <lpage>461</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Jansen</surname>
          </string-name>
          ,
          <article-title>Measuring the health of open source software ecosystems: Beyond the scope of project health</article-title>
          ,
          <source>Information and Software Technology</source>
          <volume>56</volume>
          (
          <year>2014</year>
          )
          <fpage>1508</fpage>
          -
          <lpage>1519</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>Jansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Farshidi</surname>
          </string-name>
          , G. Gousios, T. van der Storm, J. Visser,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bruntink</surname>
          </string-name>
          ,
          <article-title>Searchseco: A worldwide index of the open source software ecosystem</article-title>
          ,
          <source>Proceedings of BENEVOL</source>
          <year>2020</year>
          (????).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>F.</given-names>
            <surname>Hou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Farshidi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jansen</surname>
          </string-name>
          ,
          <article-title>Trustseco: A distributed infrastructure for providing trust in the software ecosystem</article-title>
          ,
          <source>in: Proceedings of the International Workshop on Blockchain for Information Systems</source>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Petke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Harman</surname>
          </string-name>
          , W. B.
          <string-name>
            <surname>Langdon</surname>
          </string-name>
          , W. Weimer,
          <article-title>Specialising software for diferent downstream applications using genetic improvement and code transplantation</article-title>
          ,
          <source>IEEE Transactions on Software Engineering</source>
          <volume>44</volume>
          (
          <year>2017</year>
          )
          <fpage>574</fpage>
          -
          <lpage>594</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P.</given-names>
            <surname>Boldi</surname>
          </string-name>
          , G. Gousios,
          <article-title>Fine-grained network analysis for modern software ecosystems</article-title>
          ,
          <source>ACM Transactions on Internet Technology (TOIT) 21</source>
          (
          <year>2020</year>
          )
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>