<!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>February</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Cross-chain Smart Contracts and dApps Verification by Static Analysis: Limits and Challenges</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luca Olivieri</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Aradhita Mukherjee</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nabendu Chaki</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Agostino Cortesi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ca' Foscari University of Venice</institution>
          ,
          <addr-line>Venice</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Calcutta</institution>
          ,
          <addr-line>Kolkata</addr-line>
          ,
          <country country="IN">India</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>0</volume>
      <fpage>3</fpage>
      <lpage>8</lpage>
      <abstract>
        <p>The increasing demand for interoperability, security, and reliability among various blockchain ecosystems has necessitated the development of cross-chain verification techniques. Static analysis, a powerful tool in software development, ofers a promising approach to identify bugs, vulnerabilities, and inconsistencies in cross-chain software during its early stages. By detecting these issues proactively, static analysis can significantly reduce development costs, time-to-market, and the risk of deploying immutable, buggy smart contracts. However, providing adequate verification for cross-chain software is not straightforward. It involves analyzing diverse components, understanding complex program behaviors, interpreting diferent instruction semantics, and navigating the intricacies of various programming languages. This paper aims to provide a comprehensive overview of interoperability in the blockchain context. We delve into the state-of-the-art regarding verification tools specifically designed for cross-chain software and explore the known issues that these tools can efectively detect. Furthermore, we highlight potential pitfalls and challenges associated with static analysis in this domain, ofering insights into the complexities and limitations of this approach.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Blockchain</kwd>
        <kwd>distributed ledger technology</kwd>
        <kwd>smart contracts</kwd>
        <kwd>decentralized applications</kwd>
        <kwd>multi-chain</kwd>
        <kwd>multi-blockchain</kwd>
        <kwd>cross-chain</kwd>
        <kwd>cross-blockchain</kwd>
        <kwd>blockchain interoperability</kwd>
        <kwd>cross-program verification</kwd>
        <kwd>program verification</kwd>
        <kwd>static analysis</kwd>
        <kwd>software security</kwd>
        <kwd>software verification</kwd>
        <kwd>vulnerability detection</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The rapid digital expansion of recent years has led to a surge in cyber challenges and threats
worldwide [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], highlighting the importance of blockchain technology in ensuring data integrity,
security and trust in digital transactions.
      </p>
      <p>A blockchain is a decentralized and distributed digital ledger shared among a network that
securely records transactions across multiple peers. It operates without a central authority and
ensures transparency, anti-tampering, and data immutability. Smart contracts are computer
programs that can be deployed, typically in an immutable way, and executed within the blockchain.
Decentralized applications (dApps) are applications that run on blockchain and leverage smart
contracts to provide decentralized, transparent, and trustless services.</p>
      <p>
        Achieving cross-blockchain interoperability is a non-trivial task due to the heterogeneous
difusion of blockchain solutions and the lack of regulatory standards and unified communication
protocols [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. For these reasons, the development of interoperable solutions is error-prone and
can introduce bugs and vulnerabilities in the code. Just consider that, as of mid-2024, more than
$2.8 billion has been lost due to cross-chain exploits [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3, 4, 5</xref>
        ]. Software verification is crucial in
these settings, but it is also challenging, and the existing tools lack static analyses that can fully
account for the complexities of the cross-chain paradigm [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Static analysis allows one to verify software without executing its code, i.e., statically [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
Typically, verification tools based on static analysis techniques issue alerts to highlight program
points of interest, such as instructions with potential errors, bugs, and vulnerabilities. In
software development, static analysis may significantly reduce costs by detecting issues in an
early stage of coding without the overhead of setting up full-scale test environments.
      </p>
      <p>The blockchain operates in a trustless environment where blockchain peers and users do not
necessarily trust each other. Hence, most blockchains allow the deployment of smart contracts
only in an immutable way. Consequently, code fixing and patching may not always be feasible
or might be dificult to apply. Thus, static analysis takes a crucial role in the blockchain context.
Static analysis helps avoid the immutable deployment of buggy smart contracts by catching
issues early. This also minimizes the risk of exploiting vulnerabilities and critical failures of live
dApps in blockchain systems. This, in turn, helps to reduce the cost of re-deployment in case of
fee-based blockchains.</p>
      <p>In this paper, we investigate the current state of verification in cross-chain software. We
highlight existing approaches, their limitations, and potential areas for improvement related to
static analysis. Furthermore, it briefly overviews cross-chain properties (e.g. bugs, vulnerabilities,
and inconsistencies) that can be detected with static analysis.</p>
      <p>Paper Structure The rest of the paper is structured as follows. Section 2 ofers an overview
of cross-chain environments and the diferent kinds of blockchain interoperability. Section 3
discusses the state-of-art and limitations of the existing verification tools for cross-chain
solutions. Section 4 deals with a sound representation of code during analysis. Section 5 investigates
interesting properties for cross-chain verification. Finally, Section 6 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Blockchain Interoperability</title>
      <p>
        Blockchain interoperability allows diferent blockchain networks to communicate, share data,
and exchange assets with each other. However, achieving seamless interoperability poses
several challenges. In fact, not all blockchains were initially designed for interaction with other
ecosystems. Early blockchains like Bitcoin [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ] and Ethereum [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ] were built as isolated,
self-contained networks with no inherent ability to communicate with other blockchains.
Then, they usually require external solutions, like bridges [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], oracles [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and relays [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] to
achieve interoperability. On the other hand, more recent blockchains such as Cosmos [14]
and Polkadot [15] already provide native interoperability protocols [16], where blockchains can
communicate easily within their own multi-chain ecosystems. However, the latter have not
reached the same difusion level as the former, having emerged only later. In fact, currently, the
blockchain economy still revolves around blockchains based on the Ethereum protocol, which
hold the highest levels of Total Value Locked (TVL) in terms of decentralized finance (DeFi)
such as financial assets and cryptocurrencies [17].
      </p>
      <p>In blockchain, interoperability can be divided into two categories: homogeneous and
heterogeneous. The first case means interoperability between blockchains with similar or identical
architectures. These blockchains typically share common protocols, consensus mechanisms,
or environments, making communicating or sharing data and assets easier. For instance,
homogeneous interoperability solutions connect Ethereum-based blockchains such as Ethereum
(main-net), Tron, and Polygon. Instead, heterogeneous interoperability refers to the ability of
blockchains with diferent architectures, consensus mechanisms, and virtual machines to
interact. These blockchains were often built with distinct goals and structures, making cross-chain
communication more complex, suitable, and flexible. For instance, heterogeneous
interoperability solutions are those that connect Ethereum with Bitcoin, Cosmos, etc.</p>
    </sec>
    <sec id="sec-3">
      <title>3. The State-of-Art in Cross-Chain Verification</title>
      <p>In recent years, the verification of smart contracts has matured significantly, evolving from
rudimentary techniques involving only syntactic checks to sophisticated methodologies that
enhance security and reliability by modelling program behaviours and instruction semantics.</p>
      <p>
        Although smart contract verification has moved beyond its infancy, currently, the tools are
mainly focused on individual and mainstream blockchains, making a gap on the less “popular”
ones [18]. According to [
        <xref ref-type="bibr" rid="ref6">19, 6</xref>
        ], developing semantic-based tools requires a significant theoretical
background and programming skills, even to provide toy implementations, making it dificult
for traditional developers and blockchain practitioners. This leads to only a few blockchains
benefiting from adequate verification tools, and the others are not supported in the same way.
Furthermore, interoperability is still not considered a strong requirement in the development of
verification tools.
      </p>
      <p>In general, verifying individual components prevents local issues and domain-specific
vulnerabilities, but there are issues which could not be discovered by analyzing each program in
isolation only [20]. Indeed, this is not suficient also in cross-chain settings where contracts
interact with other blockchains and software components outside the blockchain where they
are deployed.</p>
      <p>
        To the best of our knowledge, only a few recent studies deal with verifying interoperable
blockchain solutions. Focusing on static analysis, as reported in Table 1, state-of-the-art is
currently limited to homogenous interoperability between Ethereum-based blockchains, and
they consider only events from bridge solutions as cross-chain connectors. No heterogeneous
interoperability and other external solutions are currently covered. For instance, XGuard [21]
extracts and analyzes the semantic information and the source/destination blockchains of
bridging operations from Ethereum-based bridge contracts written in Solidity, a high-level
language for the development of Ethereum smart contracts. To do that, it exploits under the
woods the static analyzer Slither [24] and then provides additional verification modules to
detect inconsistent behaviours. Also, SmartAxe [22] identifies vulnerabilities in cross-chain
bridge smart contracts but written EVM bytecode, a low-level language of Ethereum smart
contracts. It performs control-flow and data-flow analyses to detect issues such as access control
incompleteness and semantic inconsistencies. However, the main drawback of these tools do not
provide guarantees about findings because they sufer from both false positives (i.e. spurious,
not real results) and false negatives (i.e. real results not detected). The reason is that they lack
to properly apply formal methods that allow one to achieve soundness (i.e. absence of false
negatives) or completeness (i.e. absence of false positives) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        Static analysis can also be adopted to support artificial intelligence (AI) approaches. In
particular, according to Ressi et al. [25, 26], static analysis is widely involved in the training
of machine-learning (ML) models to build graph-based representations of the code, such as
the control-flow graphs (CFGs) [
        <xref ref-type="bibr" rid="ref14">27</xref>
        ], to feed neural networks or combined with graph neural
network models. Additionally, static analysis tools can also be applied to label train datasets
for deep learning models. For instance, ChainSniper [23] enables the secure exchange of data
between interoperable blockchains through automated AI-based analysis, and its ML model is
trained using static analysis as well. However, compared with traditional static analysis, there
are no strong guarantees about the findings as verification through ML relies on probabilistic
models rather than rigorous formal techniques.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Towards an Adequate Representation</title>
      <p>
        The main step for any efective static analysis is the extraction of an intermediate representation
(IR) from the software to analyse that provides an abstracted form of code that is easier for
analysis tools to work with and typically represents complex programming constructs, structures, and
semantics in a way that is agnostic from the programming language of the software to analyze.
Then, it can be analyzed to infer code properties and to detect bugs, issues, and vulnerabilities.
For instance, the CFG is one of the most used IR in blockchain software verification [
        <xref ref-type="bibr" rid="ref15">28</xref>
        ]. It
is a directed graph that is exploited to understand how the program executes and is used to
verify that the source code is syntactically and semantically correct. CFG models the control
lfow between diferent blocks or statements in the code, modelling the various branches, loops,
and jumps that can occur during execution. Each path in the CFG corresponds to a possible
program execution. To perform adequate cross-chain verification, it is necessary to know the
entire execution flow of the cross-chain interaction. It is not suficient to compute the individual
IR for each party (e.g., smart contracts, external components, . . . ) involved in the cross-chain
interaction; it is necessary to merge them properly. Merging multiple IRs may seem like a
simple operation. For instance, for CFGs, it might be suficient to use labelled edges to connect
the various nodes of interest and then join the CFGs, being graph representations. However,
this is possible under certain assumptions, i.e. that (i) the IR is accurate and comprehensive with
Blockchain A
      </p>
      <p>Blockchain B
(a) without considering external solutions</p>
      <p>BlocAkPAcIshain</p>
      <p>Connector</p>
      <p>Logic</p>
      <p>BlocAkPBcIshain
Blockchain A</p>
      <p>Blockchain B
(b) considering the software of external solutions
respect to what one want to analyze, (ii) the IRs are both compatible with the chosen analysis
engine, that (iii) the merge points are known, and that (iv) they are soundly computed.</p>
      <sec id="sec-4-1">
        <title>4.1. Ensuring an Accurate and Aimed Representation</title>
        <p>A correct representation of the cross-chain ecosystem is crucial for conducting an efective
and reliable analysis. However, cross-chain ecosystems rely on various mechanisms which
can increase the complexity of analysis. Omitting non-critical or irrelevant code can improve
the performance and eficiency of static analysis by reducing processing time and resource
consumption. It can help focus on specific components or high-risk code areas, making the
analysis more targeted and manageable. Furthermore, ignoring certain generated or third-party
code can prevent unnecessary noise and false positive alerts in the analysis results. However,
on the other hand, omitting code may lead to incomplete analysis, potentially missing critical
issues or errors. Dependencies and interactions between omitted and analyzed code might be
overlooked, leading to incorrect assumptions about the behaviors of the overall system. Then, it
is of primary importance to make correct assumptions before to represent the system to analyze.</p>
        <p>
          A typical example of this is whether or not to consider the code of external solutions in the
analyses (see Figure 1). For instance, in a token transfer scenario, diferent blockchains often use
distinct data structures and formats. According to [
          <xref ref-type="bibr" rid="ref16 ref17">29, 30</xref>
          ], token migration can be complex, even
for relatively simple code, particularly when diferent programming languages are involved,
as seen in heterogeneous interoperability. Ensuring a correct transfer and migration is crucial.
However, data conversion and token validation are typically managed by external solutions, like
bridges. Ideally, this code should also be analyzed, but in many cases, it is provided by trusted
companies or services that do not necessarily make it publicly available. Hence, what happens
(see Table 1) is to omit them from the analysis under the assumption that cross-chain exchanged
data will be properly handled. Therefore considering only the code within the blockchains.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Analysis Engines and Types of Interoperability</title>
        <p>Regarding homogeneous interoperability, blockchains typically have the same instruction set,
instruction semantics, data types, and code that runs on them, which is also written in the same
target blockchain language. Analyzing this type of system is less dificult, as single existing
verification tools can be adapted to support the analysis of the entire software and consider the
cross-chain bindings and constraints.</p>
        <p>
          This happens diferently if the interoperability is homogeneous but applied by external
solutions (e.g. bridges, relayers, . . . ) or if it is heterogeneous interoperability. In these cases, the
analysis engine is typically required to support and handle diferent components, behaviours,
and programming languages. Indeed, using single tools and merging the tool results is imprecise
and could lead to unsound approaches as well as be potentially unfeasible due to compatibility
issues and technical limitations of the analysis engines. Furthermore, according to [
          <xref ref-type="bibr" rid="ref18 ref6">6, 31</xref>
          ], this
is challenging because there is a lack of techniques that work with diferent languages and
components at the same time. To the best of our knowledge, only a few verification frameworks
model this type of problems [
          <xref ref-type="bibr" rid="ref18 ref19 ref20 ref21">32, 33, 31, 34</xref>
          ], and even fewer provide support for blockchain
features. In particular, LiSA [
          <xref ref-type="bibr" rid="ref18 ref22">31, 35, 19</xref>
          ] (Library for Static Analysis) supports some programming
languages and frameworks for blockchain, such as Ethereum [
          <xref ref-type="bibr" rid="ref23">36</xref>
          ], Hyperledger Fabric [
          <xref ref-type="bibr" rid="ref24 ref25">37, 38</xref>
          ],
Tendermint (rebranded Ignite), Cosmos [
          <xref ref-type="bibr" rid="ref25">38, 18</xref>
          ], and Tezos [
          <xref ref-type="bibr" rid="ref26 ref27">39, 40</xref>
          ]. Also, MOPSA [
          <xref ref-type="bibr" rid="ref28">41</xref>
          ] (Modular
Open Platform for Static Analysis) supports several programming languages but currently the
blockchain support is limited to Tezos only [
          <xref ref-type="bibr" rid="ref29">42</xref>
          ]. However, currently, both do not provide any
implementation for cross-chain analysis. Compiler frameworks, such as LLVM [
          <xref ref-type="bibr" rid="ref30">43</xref>
          ], can also be
interesting in this sense. Indeed, they compile diferent programming languages in a single IR
that is typically widely supported by diferent verification tools. However, as far as we know,
there is little support for blockchain programming languages and no support for cross-chain
features.
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Diferent Merging Points</title>
        <p>
          Interactions to ensure interoperability between diferent blockchains can occur in diferent
ways [
          <xref ref-type="bibr" rid="ref2 ref31 ref32">44, 45, 2</xref>
          ], and in some cases, they are not visible within the code of smart contracts. In the
simplest cases, such as for homogeneous multi-chain environments, like in Cosmos or Polkadot,
interactions occur through the invocation of specific functions or instructions supported by
the blockchain framework during code execution. Instead, for individual blockchains, such
as Ethereum, there are no specific code instructions or interoperability standards, and thus,
developers need to use workarounds to ensure cross-chain communication. For instance, in
Ethereum-like blockchains, a widely used stratagem is events, i.e., developers can implement
logging functionalities allowing external applications to listen to and react to state changes
within the blockchain. In particular, an event is identified by the sufix event in Solidity [
          <xref ref-type="bibr" rid="ref33">46</xref>
          ],
the main programming language for Ethereum smart contracts. An event supports up to three
custom parameters that can store data and is triggerable by the instruction emit. Then, bridges,
oracles, and relays can detect these changes and automatize the interaction between the diferent
blockchains [
          <xref ref-type="bibr" rid="ref34">47</xref>
          ] through for instance web APIs [
          <xref ref-type="bibr" rid="ref35">48</xref>
          ]. In other blockchains, such as Hyperledger
Fabric [
          <xref ref-type="bibr" rid="ref36">49</xref>
          ], the implementation of cross-chain interactions is totally at the discretion of the
developer as smart contracts can be written using general-purpose languages and their APIs
without any limitations whatsoever (although other types of problems may be introduced [
          <xref ref-type="bibr" rid="ref37">50</xref>
          ]).
Finally, there are also blockchains, like Tezos [
          <xref ref-type="bibr" rid="ref38">51</xref>
          ], that do not have a direct event system or
other custom ways to ensure cross-chain interaction at the smart contract level. Developers
are required to use monitoring tools to detect storage changes, callback contracts, of-chain
indexers, and transaction metadata to achieve similar functionality in these cases. Then, there
is no explicit trace of this in the code of smart contracts.
        </p>
        <p>
          From a program analysis perspective, this may require instrumentations, additional
components, and supporting analytics to correctly extract, compute, and model the merging points.
For instance, the functions called between one contract and another of a cross-chain interaction,
parameters, addresses, and the information exchanged are typically values that can be
hardcoded or declared within the code. However, these values can be manipulated and modified by
instructions and program behaviours depending on the code execution, such as by mathematical
(e.g. addition, subtraction, . . . ) and string (e.g. concatenation, substring, . . . ) operations. Then,
supporting analyses on diferent value domains (e.g. for numbers [
          <xref ref-type="bibr" rid="ref39">52</xref>
          ] and strings [
          <xref ref-type="bibr" rid="ref40">53</xref>
          ]) may
required to infer an approximation of the concrete values.
        </p>
        <p>
          Another aspect to consider is the automation of merging point detection. Given the growing
number of new blockchain frameworks and interoperable paradigms, applying standard models
to statically analyze their code could be potentially unsound and imprecise. However, modifying
or extending the analysis engine for every existing framework to provide automatic checks for
merging points is not sustainable because it may require heavy changes to the analysis engine.
In traditional verification, this problem is similar to that of third-party library support, which is
generally solved by applying specification frameworks [
          <xref ref-type="bibr" rid="ref41">54</xref>
          ]. The specification framework is
typically agnostic from the analysis engine. Given a specification, the framework automatically
generates annotations on code components which can then be interpreted by the analyzer. In
this way, developers and blockchain communities can create new specifications to model new
frameworks containing both syntactic and semantic rules for annotating the merging points to
consider during the analysis.
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>4.4. Sound Construction and Representation Accuracy</title>
        <p>The computation of an accurate IR is a key point of every static analysis because when it is
partial or inaccurate, the analysis results will also be. Indeed, in the worst cases, the analysis
might miss properties existing in the real code, leaving potential bugs, issues, and vulnerabilities
undetected.</p>
        <p>
          Analyze all possible execution paths and ensure the absence of false negatives means pursuing
the soundness [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. However, the sound construction of an IR is not a given in the current existing
tools [
          <xref ref-type="bibr" rid="ref42">55</xref>
          ]. It poses significant challenges due to potentially statically unknown values in the
code, which require approximations resulting from the instruction semantics and that afect
diferent code executions. For instance, Arceri et al. [
          <xref ref-type="bibr" rid="ref23">36</xref>
          ] investigate a sound CFG construction
for smart contracts written in Ethereum bytecode and highlight the issues and challenges to
achieve soundness due to the approximations of unknown jump destinations of some jump
instructions in the code.
        </p>
        <p>In the interoperability settings, it is also necessary to ensure that merging points are computed
soundly by approximating potential points in case of lack of information or unknown values.
Soundness is typically achieved following a conservative approach where over-approximations
on the computations are applied. Although over-approximations may have diferent levels
of precision, this approach can introduce spurious results, which lead to false positives, i.e.
behaviours that seem possible according to the analysis but which, in reality, cannot occur in
any concrete execution of the software. However, in critical contexts such as the blockchain
one, it is advisable to have false positives in static analysis rather than to miss the detection
of vulnerabilities that, once deployed, may become immutable and pose significant long-term
security risks.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Target Properties for Cross-chain Analysis</title>
      <p>
        Once an adequate representation is achieved, specific analyses can be tailored to detect
crosschain bugs, vulnerabilities, and inconsistencies. A few examples of properties that can be
analyzed statically in cross-chain contexts are reported below:
• Reachability property. It refers to the ability to determine whether a particular state or
condition in a program can be reached during its execution. This property is crucial
in verifying the correctness and security of smart contracts, as well as for cross-chain
software. It helps understand if a code execution from a blockchain can lead to the code
execution in another blockchain and detect potential issues like unauthorized access or
unintended states.
• Data and Numerical properties. The exchange of data is critical in cross-chain blockchain
ecosystems because it may involve diferent blockchains, smart contracts, and
programming languages. Hence, this may lead to diferent data types that require conversions
or modifications to be digested during the cross-chain interactions. In particular,
numerical values are widely adopted for balances, token quantities, transaction counts,
and other numerical attributes. Hence, numerical values may lead to critical issues with
also economic impacts, such as truncation errors due to type conversions or numerical
overflows/underflow [
        <xref ref-type="bibr" rid="ref43">56</xref>
        ] that can lead to the loss of crypto-currencies.
• Time and synchronization properties. They are interesting for cross-chain token transfers.
      </p>
      <p>
        For instance, time lock mechanisms are widely involved to ensure that both parties
complete their part of the exchange within a set period. Contrary to what happens
for individual smart contracts or cross-contract operations within the same blockchain,
interactions in cross-chains are not possible using the traditional methods to get the
timestamp or block height of the blockchain because they are local with respect to the
blockchain where the code is executed, and they may give diferent results depending
to the blockchain. This may lead to unexpected behaviours and problems. For instance,
in the case of unsynchronized time windows, the payment for a token whose trading
has already expired may occur, which means spending the money without receiving the
token. Then, it is necessary to ensure that the code adopts a trusted oracle that yields
the same value to all the blockchains involved in the cross-chain transfer. The oracle is
typically provided by the external component acting as the connector for the cross-chain
interaction.
• Confidentiality and privacy properties . They may investigate to detect data leakages. For
instance, developers could be interested in detecting the unintentional sharing of sensitive
data in a cross-chain iteration between private and public blockchains. This can be a
classic use case for information flow analysis [
        <xref ref-type="bibr" rid="ref44 ref45">57, 58</xref>
        ].
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>The verification of cross-chain solutions is still in an early stage, presenting numerous
challenges and opportunities for improvement. Static analysis can be applied to detect issues and
inconsistencies during the software development process, ofering significant advantages by
reducing the time and economic costs associated with identifying and fixing bugs. For instance,
static analysis tools can detect vulnerabilities in smart contracts or misalignments in
crosschain software before they are deployed and before code immutability. However, an efective
verification requires a comprehensive approach that considers the entire ecosystem, including
homogeneous and heterogeneous interoperabilities among diferent blockchains. It is
insuficient to focus solely on individual components or smart contracts with similar characteristics,
as the interactions and connections between distinct blockchains are critical to ensuring system
and dApps reliability.</p>
      <p>To achieve this, the intermediate representations must be computed adequately and soundly,
encompassing all potential execution paths, program behaviors, and instruction semantics
of the cross-chain software. This allows the analysis to accurately reflects the complexity of
cross-chain environments, where minor discrepancies can lead to significant issues in real-world
scenarios.</p>
      <p>Furthermore, in the evolving cross-chain landscape, there is an urgent need for the
establishment of standards and the development of libraries for cross-chain interactions. Such
advancements would enable verification tools to identify merging points and interoperability
junctions in an automated way. By facilitating the analysis process, these tools could
significantly reduce human efort and minimize the risk of oversight, which is particularly valuable
given the complexity of cross-chain systems.</p>
      <p>In addition to static analysis, formal methods may be employed during the detection of
cross-chain properties to provide stronger guarantees such as the soundness.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>Work partially supported by SERICS (PE00000014 - CUP H73C2200089001) and iNEST (ECS00000043
– CUP H43C22000540006) projects funded by PNRR NextGeneration EU.</p>
    </sec>
    <sec id="sec-8">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the authors used AI-based tools (Grammarly, ChatGPT ) in
order to: Grammar and spelling check, Paraphrase and reword. After using this tool/service,
the authors reviewed and edited the content as needed and take full responsibility for the
publication’s content.
[14] Interchain Foundation., Cosmos network, 2024. https://cosmos.network/ Accessed 09/2024.
[15] Web3 Foundation, Polkadot network, 2024. https://polkadot.network/ Accessed 09/2024.
[16] I. A. Qasse, M. Abu Talib, Q. Nasir, Inter blockchain communication: A survey, in:
Proceedings of the ArabWIC 6th Annual International Conference Research Track,
ArabWIC 2019, Association for Computing Machinery, New York, NY, USA, 2019. URL:
https://doi.org/10.1145/3333165.3333167. doi:10.1145/3333165.3333167.
[17] DefiLlama, Total value locked all chains, 2024. https://defillama.com/chains Accessed
10/2024.
[18] L. Olivieri, F. Tagliaferro, V. Arceri, M. Ruaro, L. Negrini, A. Cortesi, P. Ferrara, F. Spoto,
E. Talin, Ensuring determinism in blockchain software with golisa: an industrial experience
report, SOAP 2022, Association for Computing Machinery, New York, NY, USA, 2022, p.
23–29. doi:10.1145/3520313.3534658, https://doi.org/10.1145/3520313.3534658.
[19] P. Ferrara, L. Negrini, V. Arceri, A. Cortesi, Static analysis for dummies: experiencing lisa,
in: Proceedings of the 10th ACM SIGPLAN International Workshop on the State Of the
Art in Program Analysis, SOAP 2021, Association for Computing Machinery, New York,
NY, USA, 2021, p. 1–6. doi:10.1145/3460946.3464316, https://doi.org/10.1145/3460946.
3464316.
[20] A. Mandal, P. Ferrara, Y. Khlyebnikov, A. Cortesi, F. Spoto, Cross-program taint analysis for
iot systems, in: Proceedings of the 35th Annual ACM Symposium on Applied Computing,
SAC ’20, Association for Computing Machinery, New York, NY, USA, 2020, p. 1944–1952.</p>
      <p>URL: https://doi.org/10.1145/3341105.3373924. doi:10.1145/3341105.3373924.
[21] K. Wang, Y. Li, C. Wang, J. Gao, Z. Guan, Z. Chen, Xguard: Detecting inconsistency
behaviors of crosschain bridges, in: Companion Proceedings of the 32nd ACM
International Conference on the Foundations of Software Engineering, FSE 2024,
Association for Computing Machinery, New York, NY, USA, 2024, p. 612–616. URL: https:
//doi.org/10.1145/3663529.3663809. doi:10.1145/3663529.3663809.
[22] Z. Liao, Y. Nan, H. Liang, S. Hao, J. Zhai, J. Wu, Z. Zheng, Smartaxe: Detecting cross-chain
vulnerabilities in bridge smart contracts via fine-grained static analysis, Proc. ACM Softw.</p>
      <p>Eng. 1 (2024). URL: https://doi.org/10.1145/3643738. doi:10.1145/3643738.
[23] T.-D. Tran, K. A. Vo, D. T. Phan, C. N. Tan, V.-H. Pham, Chainsniper: A machine
learning approach for auditing cross-chain smart contracts, in: Proceedings of the
2024 9th International Conference on Intelligent Information Technology, ICIIT ’24,
Association for Computing Machinery, New York, NY, USA, 2024, p. 223–230. URL:
https://doi.org/10.1145/3654522.3654577. doi:10.1145/3654522.3654577.
[24] J. Feist, G. Grieco, A. Groce, Slither: A static analysis framework for smart contracts, in:
2019 IEEE/ACM 2nd International Workshop on Emerging Trends in Software Engineering
for Blockchain (WETSEB), 2019, pp. 8–15. doi:10.1109/WETSEB.2019.00008.
[25] D. Ressi, A. Spanò, L. Benetollo, C. Piazza, M. Bugliesi, S. Rossi, Vulnerability detection
in ethereum smart contracts via machine learning: A qualitative analysis, arXiv preprint
arXiv:2407.18639 (2024).
[26] D. Ressi, R. Romanello, C. Piazza, S. Rossi, Ai-enhanced blockchain technology: A review
of advancements and opportunities, Journal of Network and Computer Applications 225
(2024) 103858. URL: https://www.sciencedirect.com/science/article/pii/S1084804524000353.
doi:https://doi.org/10.1016/j.jnca.2024.103858.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Bozzetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Spoto</surname>
          </string-name>
          ,
          <article-title>Cybersecurity impacts of the Covid-19 pandemic in Italy</article-title>
          ,
          <source>in: CEUR Workshop Proceedings</source>
          , volume
          <volume>2940</volume>
          ,
          <year>2021</year>
          , p.
          <fpage>145</fpage>
          -
          <lpage>155</lpage>
          . URL: https:// ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2940</volume>
          /paper13.pdf,
          <source>proceedings of the Italian Conference on Cybersecurity (ITASEC</source>
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Belchior</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vasconcelos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Guerreiro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Correia</surname>
          </string-name>
          ,
          <article-title>A survey on blockchain interoperability: Past, present, and future trends</article-title>
          ,
          <source>ACM Comput. Surv</source>
          .
          <volume>54</volume>
          (
          <year>2021</year>
          ). URL: https://doi.org/10.1145/3471140. doi:
          <volume>10</volume>
          .1145/3471140.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] DefiLlama, Total Value Hacked in Bridges,
          <year>2024</year>
          . https://defillama.com/hacks Accessed 06/
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mukherjee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Chaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cortesi</surname>
          </string-name>
          ,
          <article-title>Blockchain Interoperability through Bridges: A Token Transfer Perspective</article-title>
          ,
          <source>in: Proceedings of the 6th International Conference on Blockchain Computing and Applications (BCCA</source>
          <year>2024</year>
          ),
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C. G.</given-names>
            <surname>Harris</surname>
          </string-name>
          ,
          <article-title>Cross-chain technologies: Challenges and opportunties for blockchain interoperability</article-title>
          ,
          <source>in: 2023 IEEE International Conference on Omni-layer Intelligent Systems (COINS)</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . doi:
          <volume>10</volume>
          .1109/COINS57856.
          <year>2023</year>
          .
          <volume>10189298</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Spoto</surname>
          </string-name>
          ,
          <article-title>Software verification challenges in the blockchain ecosystem</article-title>
          ,
          <source>International Journal on Software Tools for Technology Transfer</source>
          <volume>26</volume>
          (
          <year>2024</year>
          )
          <fpage>431</fpage>
          -
          <lpage>444</lpage>
          . URL: https://doi.org/10.1007/s10009-024-00758-x. doi:
          <volume>10</volume>
          .1007/s10009-024-00758-x.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>X.</given-names>
            <surname>Rival</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Yi</surname>
          </string-name>
          ,
          <article-title>Introduction to static analysis: an abstract interpretation perspective</article-title>
          , Mit Press, Cambridge, MA, USA,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Nakamoto</surname>
          </string-name>
          , Bitcoin:
          <string-name>
            <given-names>A</given-names>
            <surname>Peer-</surname>
          </string-name>
          to-
          <source>Peer Electronic Cash System</source>
          ,
          <year>2008</year>
          . https://bitcoin.org/ bitcoin.pdf Accessed:
          <volume>09</volume>
          /
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Antonopoulos</surname>
          </string-name>
          , Mastering Bitcoin:
          <article-title>Programming the Open Blockchain</article-title>
          , 2nd ed.,
          <source>O'Reilly</source>
          , Sebastopol, CA, USA,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>G.</given-names>
            <surname>Wood</surname>
          </string-name>
          , et al.,
          <article-title>Ethereum: A secure decentralised generalised transaction ledger</article-title>
          ,
          <source>Ethereum project yellow paper 151</source>
          (
          <year>2014</year>
          )
          <fpage>1</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>A. M. Antonopoulos</surname>
          </string-name>
          , G. Wood, Mastering Ethereum:
          <article-title>Building Smart Contracts</article-title>
          and Dapps,
          <string-name>
            <surname>O</surname>
          </string-name>
          'Reilly, Sebastopol, CA, USA,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Ezzat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y. N. M.</given-names>
            <surname>Saleh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Abdel-Hamid</surname>
          </string-name>
          ,
          <article-title>Blockchain oracles: State-of-the-art and research directions</article-title>
          ,
          <source>IEEE Access 10</source>
          (
          <year>2022</year>
          )
          <fpage>67551</fpage>
          -
          <lpage>67572</lpage>
          . doi:
          <volume>10</volume>
          .1109/ACCESS.
          <year>2022</year>
          .
          <volume>3184726</volume>
          , https://doi.org/10.1109/ACCESS.
          <year>2022</year>
          .
          <volume>3184726</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>K.</given-names>
            <surname>Ren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.-M.</given-names>
            <surname>Ho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Loghin</surname>
          </string-name>
          , T.-T. Nguyen,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Ooi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.-T.</given-names>
            <surname>Ta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <article-title>Interoperability in blockchain: A survey</article-title>
          ,
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>35</volume>
          (
          <year>2023</year>
          )
          <fpage>12750</fpage>
          -
          <lpage>12769</lpage>
          . doi:
          <volume>10</volume>
          .1109/TKDE.
          <year>2023</year>
          .
          <volume>3275220</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>F. E.</given-names>
            <surname>Allen</surname>
          </string-name>
          ,
          <article-title>Control flow analysis</article-title>
          ,
          <source>in: Proceedings of a Symposium on Compiler Optimization</source>
          , Association for Computing Machinery, New York, NY, USA,
          <year>1970</year>
          , p.
          <fpage>1</fpage>
          -
          <lpage>19</lpage>
          . URL: https://doi.org/10.1145/800028.808479. doi:
          <volume>10</volume>
          .1145/800028.808479.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Kushwaha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Joshi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kaur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.-N.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <article-title>Ethereum smart contract analysis tools: A systematic review</article-title>
          ,
          <source>IEEE Access 10</source>
          (
          <year>2022</year>
          )
          <fpage>57037</fpage>
          -
          <lpage>57062</lpage>
          . doi:
          <volume>10</volume>
          .1109/ACCESS.
          <year>2022</year>
          .
          <volume>3169902</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>M.</given-names>
            <surname>Crosara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Spoto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Tagliaferro</surname>
          </string-name>
          ,
          <article-title>Fungible and non-fungible tokens with snapshots in java</article-title>
          ,
          <source>Cluster Computing</source>
          <volume>26</volume>
          (
          <year>2023</year>
          )
          <fpage>2701</fpage>
          -
          <lpage>2718</lpage>
          . URL: https://doi.org/10.1007/ s10586-022-03756-3. doi:
          <volume>10</volume>
          .1007/s10586-022-03756-3.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>M.</given-names>
            <surname>Crosara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Spoto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Tagliaferro</surname>
          </string-name>
          , Re-engineering erc
          <article-title>-20 smart contracts with eficient snapshots for the java virtual machine</article-title>
          ,
          <source>in: 2021 Third International Conference on Blockchain Computing and Applications (BCCA)</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>187</fpage>
          -
          <lpage>194</lpage>
          . URL: https://doi. org/10.1109/BCCA53669.
          <year>2021</year>
          .
          <volume>9657047</volume>
          . doi:
          <volume>10</volume>
          .1109/BCCA53669.
          <year>2021</year>
          .
          <volume>9657047</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>L.</given-names>
            <surname>Negrini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ferrara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Arceri</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Cortesi,
          <article-title>LiSA: A Generic Framework for Multilanguage Static Analysis</article-title>
          , Springer Nature Singapore, Singapore,
          <year>2023</year>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>42</lpage>
          . doi:
          <volume>10</volume>
          .1007/
          <fpage>978</fpage>
          -981-19-9601-
          <issue>6</issue>
          _2, https://doi.org/10.1007/
          <fpage>978</fpage>
          -981-19-9601-
          <issue>6</issue>
          _
          <fpage>2</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>S.</given-names>
            <surname>Buro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Crole</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Mastroeni</surname>
          </string-name>
          ,
          <article-title>On multi-language abstraction: Towards a static analysis of multi-language programs</article-title>
          ,
          <source>in: Static Analysis: 27th International Symposium, SAS</source>
          <year>2020</year>
          ,
          <string-name>
            <given-names>Virtual</given-names>
            <surname>Event</surname>
          </string-name>
          ,
          <source>November 18-20</source>
          ,
          <year>2020</year>
          , Proceedings, Springer-Verlag, Berlin, Heidelberg,
          <year>2020</year>
          , p.
          <fpage>310</fpage>
          -
          <lpage>332</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -65474-0_
          <fpage>14</fpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -65474-0_
          <fpage>14</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>G.</given-names>
            <surname>Teixeira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. a.</given-names>
            <surname>Bispo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. F.</given-names>
            <surname>Correia</surname>
          </string-name>
          <article-title>, Multi-language static code analysis on the lara framework</article-title>
          ,
          <source>in: Proceedings of the 10th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis</source>
          ,
          <source>SOAP</source>
          <year>2021</year>
          ,
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <year>2021</year>
          , p.
          <fpage>31</fpage>
          -
          <lpage>36</lpage>
          . doi:
          <volume>10</volume>
          .1145/3460946.3464317, https://doi.org/10. 1145/3460946.3464317.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>R.</given-names>
            <surname>Monat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ouadjaout</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Miné</surname>
          </string-name>
          ,
          <article-title>A multilanguage static analysis of python programs with native c extensions</article-title>
          , in: C.
          <string-name>
            <surname>Drăgoi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Mukherjee</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          Namjoshi (Eds.),
          <source>Static Analysis</source>
          , Springer International Publishing, Cham,
          <year>2021</year>
          , pp.
          <fpage>323</fpage>
          -
          <lpage>345</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>L.</given-names>
            <surname>Negrini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Arceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cortesi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ferrara</surname>
          </string-name>
          ,
          <article-title>Teaching through practice: Advanced static analysis with lisa</article-title>
          , in: E.
          <string-name>
            <surname>Sekerinski</surname>
          </string-name>
          , L. Ribeiro (Eds.),
          <source>Formal Methods Teaching</source>
          , Springer Nature Switzerland, Cham,
          <year>2024</year>
          , pp.
          <fpage>43</fpage>
          -
          <lpage>57</lpage>
          . doi:
          <volume>10</volume>
          .1007/ 978-3-
          <fpage>031</fpage>
          -71379-
          <issue>8</issue>
          _3, https://doi.org/10.1007/978-3-
          <fpage>031</fpage>
          -71379-
          <issue>8</issue>
          _
          <fpage>3</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>V.</given-names>
            <surname>Arceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Merenda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Dolcetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Negrini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          , E. Zafanella,
          <article-title>Towards a sound construction of evm bytecode control-flow graphs</article-title>
          ,
          <source>in: Proceedings of the 26th ACM International Workshop on Formal Techniques for Java-like Programs</source>
          ,
          <source>FTfJP</source>
          <year>2024</year>
          ,
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <year>2024</year>
          , p.
          <fpage>11</fpage>
          -
          <lpage>16</lpage>
          . doi:
          <volume>10</volume>
          .1145/ 3678721.3686227, https://doi.org/10.1145/3678721.3686227.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Negrini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Arceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Chachar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ferrara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cortesi</surname>
          </string-name>
          ,
          <article-title>Detection of phantom reads in hyperledger fabric</article-title>
          ,
          <source>IEEE Access 12</source>
          (
          <year>2024</year>
          )
          <fpage>80687</fpage>
          -
          <lpage>80697</lpage>
          . doi:
          <volume>10</volume>
          .1109/ACCESS.
          <year>2024</year>
          .
          <volume>3410019</volume>
          , https://doi.org/10.1109/ACCESS.
          <year>2024</year>
          .
          <volume>3410019</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Negrini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Arceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Tagliaferro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ferrara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cortesi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Spoto</surname>
          </string-name>
          ,
          <article-title>Information Flow Analysis for Detecting Non-Determinism in Blockchain</article-title>
          , in: K. Ali, G. Salvaneschi (Eds.),
          <source>37th European Conference on Object-Oriented Programming (ECOOP</source>
          <year>2023</year>
          ), volume
          <volume>263</volume>
          of Leibniz International Proceedings in Informatics (LIPIcs),
          <source>Schloss Dagstuhl - Leibniz-Zentrum für Informatik</source>
          , Dagstuhl, Germany,
          <year>2023</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          . doi:
          <volume>10</volume>
          .4230/LIPIcs.ECOOP.
          <year>2023</year>
          .
          <volume>23</volume>
          , https://doi.org/10.4230/LIPIcs.ECOOP.
          <year>2023</year>
          .
          <volume>23</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Jensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Negrini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Spoto</surname>
          </string-name>
          ,
          <article-title>Michelsonlisa: A static analyzer for tezos</article-title>
          ,
          <source>in: 2023 IEEE International Conference on Pervasive Computing and Communications Workshops and other Afiliated Events (PerCom Workshops)</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>80</fpage>
          -
          <lpage>85</lpage>
          . doi:
          <volume>10</volume>
          .1109/PerComWorkshops56833.
          <year>2023</year>
          .
          <volume>10150247</volume>
          , https://doi.org/10.1109/ PerComWorkshops56833.
          <year>2023</year>
          .
          <volume>10150247</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Negrini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Arceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Jensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Spoto</surname>
          </string-name>
          ,
          <article-title>Design and implementation of static analyses for tezos smart contracts</article-title>
          ,
          <source>Distrib. Ledger Technol</source>
          . (
          <year>2024</year>
          ). doi:
          <volume>10</volume>
          .1145/3643567, https://doi.org/10.1145/3643567.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>M.</given-names>
            <surname>Journault</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Miné</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Monat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ouadjaout</surname>
          </string-name>
          ,
          <article-title>Combinations of reusable abstract domains for a multilingual static analyzer</article-title>
          , in: S. Chakraborty,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Navas</surname>
          </string-name>
          (Eds.),
          <source>Verified Software. Theories, Tools, and Experiments</source>
          , Springer International Publishing, Cham,
          <year>2020</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>18</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Miné</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Botbol</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bouaziz</surname>
          </string-name>
          ,
          <article-title>Abstract interpretation of michelson smartcontracts</article-title>
          ,
          <source>in: Proceedings of the 11th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis</source>
          ,
          <source>SOAP</source>
          <year>2022</year>
          ,
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <year>2022</year>
          , p.
          <fpage>36</fpage>
          -
          <lpage>43</lpage>
          . doi:
          <volume>10</volume>
          .1145/3520313.3534660, https://doi.org/10.1145/ 3520313.3534660.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [43]
          <string-name>
            <given-names>L.</given-names>
            <surname>Foundation</surname>
          </string-name>
          ,
          <source>The LLVM Compiler Infrastructure</source>
          ,
          <year>2024</year>
          . https://llvm.org/ Accessed 09/
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>H.</given-names>
            <surname>Mao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Nie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <article-title>A survey on cross-chain technology: Challenges, development, and prospect</article-title>
          ,
          <source>IEEE Access 11</source>
          (
          <year>2023</year>
          )
          <fpage>45527</fpage>
          -
          <lpage>45546</lpage>
          . doi:
          <volume>10</volume>
          .1109/ACCESS.
          <year>2022</year>
          .
          <volume>3228535</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [45]
          <string-name>
            <given-names>G.</given-names>
            <surname>Falazi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Breitenbücher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Leymann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schulte</surname>
          </string-name>
          ,
          <article-title>Cross-chain smart contract invocations: A systematic multi-vocal literature review 56 (</article-title>
          <year>2024</year>
          ). URL: https://doi.org/10.1145/3638045. doi:
          <volume>10</volume>
          .1145/3638045.
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [46]
          <string-name>
            <given-names>The</given-names>
            <surname>Solidity</surname>
          </string-name>
          <string-name>
            <surname>Authors</surname>
          </string-name>
          , Solidity documentation | contracts | events,
          <year>2024</year>
          . https://docs. soliditylang.
          <source>org/en/v0.8</source>
          .28/contracts.html#events Accessed 10/
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [47]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bigiotti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Mostarda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Navarra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pinna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tonelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vaccargiu</surname>
          </string-name>
          ,
          <article-title>Interoperability between evm-based blockchains</article-title>
          , in: L.
          <string-name>
            <surname>Barolli</surname>
          </string-name>
          (Ed.),
          <source>Advanced Information Networking and Applications</source>
          , Springer Nature Switzerland, Cham,
          <year>2024</year>
          , pp.
          <fpage>98</fpage>
          -
          <lpage>109</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [48]
          <string-name>
            <given-names>Web3</given-names>
            <surname>Labs</surname>
          </string-name>
          ,
          <year>Web3j</year>
          ,
          <year>2024</year>
          . https://docs.web3j.
          <source>io Accessed</source>
          <volume>09</volume>
          /
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [49]
          <string-name>
            <given-names>E.</given-names>
            <surname>Androulaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Barger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Bortnikov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Cachin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Christidis</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. De Caro</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Enyeart</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Ferris</surname>
            , G. Laventman,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Manevich</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Muralidharan</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Murthy</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Sethi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Singh</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Sorniotti</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Stathakopoulou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Vukolić</surname>
            ,
            <given-names>S. W.</given-names>
          </string-name>
          <string-name>
            <surname>Cocco</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Yellick</surname>
          </string-name>
          ,
          <article-title>Hyperledger fabric: a distributed operating system for permissioned blockchains</article-title>
          ,
          <source>in: Proceedings of the Thirteenth EuroSys Conference</source>
          , EuroSys '18,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2018</year>
          . URL: https://doi.org/10.1145/3190508.3190538. doi:
          <volume>10</volume>
          .1145/3190508.3190538.
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [50]
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Arceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Chachar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Negrini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Tagliaferro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Spoto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ferrara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cortesi</surname>
          </string-name>
          ,
          <article-title>General-purpose languages for blockchain smart contracts development: A comprehensive study</article-title>
          ,
          <source>IEEE Access 12</source>
          (
          <year>2024</year>
          )
          <fpage>166855</fpage>
          -
          <lpage>166869</lpage>
          . doi:
          <volume>10</volume>
          .1109/ACCESS.
          <year>2024</year>
          .
          <volume>3495535</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [51]
          <string-name>
            <surname>Goodman</surname>
            ,
            <given-names>LM</given-names>
          </string-name>
          ,
          <article-title>Tezos: A self-amending crypto-ledger</article-title>
          ,
          <year>2014</year>
          . White paper. https://tezos. com/whitepaper.pdf.
          <source>Accessed</source>
          <volume>10</volume>
          /
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [52]
          <string-name>
            <given-names>B.</given-names>
            <surname>Jeannet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Miné</surname>
          </string-name>
          ,
          <article-title>Apron: A library of numerical abstract domains for static analysis</article-title>
          , in: International Conference on Computer Aided Verification, Springer,
          <year>2009</year>
          , pp.
          <fpage>661</fpage>
          -
          <lpage>667</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [53]
          <string-name>
            <given-names>G.</given-names>
            <surname>Costantini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ferrara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cortesi</surname>
          </string-name>
          ,
          <article-title>A suite of abstract domains for static analysis of string values</article-title>
          ,
          <source>Softw. Pract. Exper</source>
          .
          <volume>45</volume>
          (
          <year>2015</year>
          )
          <fpage>245</fpage>
          -
          <lpage>287</lpage>
          . URL: https://doi.org/10.1002/spe.2218. doi:
          <volume>10</volume>
          .1002/spe.2218.
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [54]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ferrara</surname>
          </string-name>
          , L. Negrini,
          <article-title>Sarl: Oo framework specification for static analysis</article-title>
          , in: M.
          <string-name>
            <surname>Christakis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Polikarpova</surname>
            ,
            <given-names>P. S.</given-names>
          </string-name>
          <string-name>
            <surname>Duggirala</surname>
          </string-name>
          , P. Schrammel (Eds.),
          <source>Software Verification</source>
          , Springer International Publishing, Cham,
          <year>2020</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>20</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [55]
          <string-name>
            <given-names>C.</given-names>
            <surname>Schneidewind</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Scherer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mafei</surname>
          </string-name>
          ,
          <article-title>The good, the bad and the ugly: Pitfalls and best practices in automated sound static analysis of ethereum smart contracts</article-title>
          , in: T.
          <string-name>
            <surname>Margaria</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          Stefen (Eds.),
          <source>Leveraging Applications of Formal Methods, Verification and Validation: Applications</source>
          , Springer International Publishing, Cham,
          <year>2020</year>
          , pp.
          <fpage>212</fpage>
          -
          <lpage>231</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [56]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Lv</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Duan</surname>
          </string-name>
          ,
          <article-title>Attack and protection schemes on fabric isomorphic crosschain systems</article-title>
          ,
          <source>International Journal of Distributed Sensor Networks</source>
          <volume>18</volume>
          (
          <year>2022</year>
          )
          <fpage>15501477211059945</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          [57]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ferrara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Spoto</surname>
          </string-name>
          ,
          <article-title>Static privacy analysis by flow reconstruction of tainted data</article-title>
          ,
          <source>International Journal of Software Engineering and Knowledge Engineering</source>
          <volume>31</volume>
          (
          <year>2021</year>
          )
          <fpage>973</fpage>
          -
          <lpage>1016</lpage>
          . URL: https://doi.org/10.1142/S0218194021500303. doi:
          <volume>10</volume>
          .1142/ S0218194021500303.
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          [58]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ferrara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Spoto</surname>
          </string-name>
          ,
          <article-title>Tailoring taint analysis to gdpr</article-title>
          , in: M.
          <string-name>
            <surname>Medina</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Mitrakas</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Rannenberg</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Schweighofer</surname>
          </string-name>
          , N. Tsouroulas (Eds.),
          <source>Privacy Technologies and Policy</source>
          , Springer International Publishing, Cham,
          <year>2018</year>
          , pp.
          <fpage>63</fpage>
          -
          <lpage>76</lpage>
          . URL: https://doi.org/10.1007/ 978-3-
          <fpage>030</fpage>
          -02547-
          <issue>2</issue>
          _4. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -02547-
          <issue>2</issue>
          _
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>