<!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>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>ReLIGn: a Tool for Model Repair based on Local Instance Graphs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Domenico Potena</string-name>
          <email>d.potena@univpm.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudia Diamantini</string-name>
          <email>c.diamantini@univpm.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Laura Genga</string-name>
          <email>l.genga@tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chiara Gobbi</string-name>
          <email>c.gobbi@pm.univpm.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessandro Mele</string-name>
          <email>a.mele@pm.univpm.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Process Mining, Process Repairing, Process Model, Business Process Management</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Industrial Engineering and Innovation Sciences, Eindhoven University of Technology</institution>
          ,
          <addr-line>Eindhoven, The</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dipartimento di Ingegneria dell'Informazione, Università Politecnica delle Marche</institution>
          ,
          <addr-line>Ancona</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>GNU/Linux, macOS</institution>
          ,
          <addr-line>Microsoft Windows</addr-line>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Graphviz</institution>
          ,
          <addr-line>Java, MySQL, Python</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <fpage>20</fpage>
      <lpage>24</lpage>
      <abstract>
        <p>Model repair techniques update process models to incorporate behaviors observed in event logs, but not compliant with the original model. While these techniques address important practical needs, most state-of-the-art approaches repair anomalous behaviors independently, neglecting potential correlations among anomalies occurring at diferent process stages. This limitation introduces potential issues, e.g., over-permissive and low-quality models. In this paper, we present ReLIGn, a novel tool for process model repair that includes in the original model a high-level anomalous behavior (AB) represented as a Local Instance Graph (LIG). The tool supports the user in the evaluation of the repaired model, both graphically by highlighting the repaired part of the model and numerically by reporting the diference in terms of fitness, precision, generalization and simplicity between the original and repaired model.</p>
      </abstract>
      <kwd-group>
        <kwd>Metadata description</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR</p>
      <p>ceur-ws.org
Value
ReLIGn
0.1.0
GPL-3.0
Languages, tools and services used
Supported operating environment
Source code repository
Screencast video
https://github.com/KDMG/ReLIGn-tool
https://youtu.be/wafwsUPTees</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        Model repair techniques aim at automatically updating a process model to incorporate behaviors
that are observed in practice (i.e., in event logs tracking process executions) but are not compliant
with the original model [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. These techniques are useful in a number of scenarios. For example,
one might need to update a process model that does not properly reflect the reality anymore;
employees might find out eficient workarounds that speed up the process; there might exist
exceptional behaviors not properly modeled; and so on.
      </p>
      <p>
        Most state-of-the-art techniques neglect potential correlations among anomalous behaviors
occurring at diferent stages of the process, repairing each of them independently. However,
as discussed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], neglecting these correlations can result in including more behaviors than
desired, compromising the quality of the final process model and allowing undesirable and
potentially risky executions. For example, let us consider a loan application process where there
exists a rule stating at which stage of the process the allocated employee should carry out a
check to exclude fraud. In practice, it might be acceptable to postpone this check to just before
sending the ofer to the customer, due to various circumstances (e.g., holidays, or delays in
getting the needed documents). Such violation will correspond to two anomalous behaviors in
the event log, i.e., skipping the fraud check activity, and performing it in a not-allowed position.
However, repairing these behaviors independently will lead to a process model in which the
check can be skipped or executed arbitrarily multiple times, which is clearly undesirable.
      </p>
      <p>
        In a previous work [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], we proposed an approach to address this issue by mining and repairing
high-level anomalous behaviors (ABs), consisting of multiple low-level anomalous behaviors.
Our experiments showed that considering high-level anomalies led to repaired models allowing
for the behaviors of interest while maintaining precision and simplicity close to the original
process model. In this demo paper, we introduce ReLIGn: a tool for model repair based on
the approach proposed in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The main functionalities of the proposed tool are detailed in the
following section.
      </p>
    </sec>
    <sec id="sec-3">
      <title>2. Innovation and functionality</title>
      <p>
        The ReLIGn tool has been developed to support the repair approach introduced in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which
consists of two main steps (see Figure 1). The approach takes as input a process model to be
repaired, an event log tracking the process executions, and an AB to be used for the repairing
step. Such behavior can either be extracted by means of ABs discovery techniques (e.g., [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]) or
manually crafted by the user. First, a Trace selection step is performed. In this step, sequential
traces are converted in the so-called Instance Graphs (IGs), which are Directed, Acyclic Graphs
(DAGs) modeling the control-flow of a process execution considering both sequential and
concurrent ordering relations among process activities. Our implementation leverages the
approach proposed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] to generate the IG set. The AB is represented as a Local Instance
Graph (LIG), that is, a subgraph of an IG capturing a specific behavior observed in the event
log but not represented into the process model. Then, we select one trace to guide the repair,
namely a trace whose corresponding IG contains the behavior represented by the LIG, therefore,
the corresponding trace manifests the AB. This corresponds to searching for an embedding of
the LIG in the IGs. In particular, we are interested in finding the optimal embedding, i.e., the
trace whose corresponding IG contains the most similar subgraph to the AB provided in input,
minimizing the number of additional anomalous events. We then proceed to the AB integration
step, in order to perform the actual repair. This step aligns the AB to the process model, by
(i) detecting the best location where the ABs should be placed, (ii) converting the graph in
Petri Net notation and (iii) properly merging it with the original process model. We refer the
interested readers to [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for additional details.
      </p>
      <p>ReLIGn delivers an end-to-end solution to perform process repair in a single run through
automatic Instance Graph extraction and anomaly integration and ofers an intuitive interface,
ensuring complete transparency for the user. The interface (Figure 2) is formed by two tabs.
the Repair tab lets the users choose the input parameters (yellow box in Figure 2a) configure
the repair options (turquoise box in Figure 2a) and auto-populate the input fields with data
from previous runs (orange box in Figure 2a). When the repair finishes, the Evaluation tab
opens up automatically together with a visualization of the repaired net to show its results
violet box in Figure 2b). The tab can be reopened at any moment to review previous runs (green
box in Figure 2b). The tab also ofers a Local Instance Graph viewer, an interactive Petri-net
visualizer/exporter for the repaired model, and a detailed execution log (blue box in Figure 2b).
The log box highlighted in red displays the state of the current execution in both tabs.</p>
      <sec id="sec-3-1">
        <title>2.1. Repair tab</title>
        <p>
          The Repair tab, using the defined input and configurations, generates the repaired process
model (described as Petri net) according to the approach described in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Once the repair
process is triggered, i.e., by clicking the Run Repair button, the repaired process model is
displayed, and concurrently the Evaluation tab is shown in order to visualize the metrics.
        </p>
        <sec id="sec-3-1-1">
          <title>2.1.1. Input selection</title>
          <p>
            The entries on the yellow box of Figure 2 concern the selection of the dataset (event log in .
format), the process model (Petri net in . format), and, optionally, the dataset containing
the IGs (in . format). If IGs are not provided, the tool will execute the BIG algorithm at runtime
to derive them according to the procedure described in [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ]. The LIG can be provided (i) as input
ifle (provided in . format) or (ii) drawn in the LIG editor, as displayed in Figure 3.
          </p>
        </sec>
        <sec id="sec-3-1-2">
          <title>2.1.2. Previous dataset</title>
          <p>The drop-down menu highlighted in the orange box (Figure 2a) allows the user to select a dataset
among those used in previous executions. This feature enables the system to automatically fill
the input entries (yellow box, Figure 2a), preventing the user from having to manually insert
the entries multiple times for a given dataset.</p>
        </sec>
        <sec id="sec-3-1-3">
          <title>2.1.3. Fast mode option</title>
          <p>To avoid potentially expensive and time-consuming computations, especially when working
with large datasets, the user can enable the Fast Mode option (turquoise box, Figure 2a). When
this option is selected, the repair procedure bypasses the identification of the optimal embedding,
which implies the graph matching between the LIG and IGs of all traces in the event log. Instead,
it stops at the first embedding found and selects that graph and its corresponding trace for
the repair. However, this approach may result in selecting traces that exhibit additional ABs
not represented by the original LIG. As a consequence, the final repaired model might be less
accurate if compared to the one obtained by selecting the IG and the corresponding trace with
the optimal embedding.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>2.2. Evaluation tab</title>
        <p>The Evaluation tab allows to visualize the results after repairing the process model. Figure 4
displays an example of output. As soon as the algorithm terminates, the repaired process model
is displayed using two colors: the black is adopted for the original process model, while the red
highlights the new elements that have been added by the repair algorithm.</p>
        <sec id="sec-3-2-1">
          <title>2.2.1. Result section</title>
          <p>
            The results section (violet box in Figure 2b) presents the metrics of both the repaired model
and the original one. For each model, the following metrics were computed: fitness [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ], which
calculates the amount of behaviors occurring in the event log that is also allowed by the process
model; precision [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ], which evaluates how much of the behavior allowed by the model is actually
observed in the event log; generalization, which assesses the model’s ability to represent not
only the behavior seen in the log but also plausible future behavior; and model simplicity [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ],
which assesses the structural complexity of the model. All metrics were calculated using the
standard implementations provided by the PM4Py suite [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ].
          </p>
        </sec>
        <sec id="sec-3-2-2">
          <title>2.2.2. Previous repair</title>
          <p>The Previous repair section (green box in Figure 2b) allows to visualize the results of previous
experiments by selecting both the dataset and the LIG of interest.</p>
        </sec>
        <sec id="sec-3-2-3">
          <title>2.2.3. Support functionalities</title>
          <p>The Support functionalities section (blue box in Figure 2b) provides a graphical
visualization of the selected LIG used for the repair procedure. Additionally, it allows users to view and
export the repaired process model in Petri net format (as a .pnml file), as well as to display a
detailed log of the entire repair process.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3. Maturity and Availability</title>
      <p>
        ReLIGn has been developed using Python 3.9.7 1. ReLIGn is available at
https://github.com/KDMG/ReLIGn-tool. The tool has been tested on the same event
logs used in the experimental section of [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], reporting the same results. A demonstration
video-tutorial is available at https://youtu.be/wafwsUPTees.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the authors used GPT-4 in order to: Grammar and spelling
check. After using these tools, the authors reviewed and edited the content as needed and take
full responsibility for the publication’s content.
1https://www.python.org/downloads/release/python-397/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Fahland</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <article-title>Model repair - aligning process models to reality</article-title>
          ,
          <source>Information Systems</source>
          <volume>47</volume>
          (
          <year>2014</year>
          )
          <fpage>220</fpage>
          -
          <lpage>243</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Armas Cervantes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. R. T. P. van Beest</given-names>
            ,
            <surname>M. La Rosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>García-Bañuelos</surname>
          </string-name>
          ,
          <article-title>Interactive and incremental business process model repair, in: On the Move to Meaningful Internet Systems</article-title>
          .
          <source>OTM 2017 Conferences</source>
          , Springer International Publishing, Cham,
          <year>2017</year>
          , pp.
          <fpage>53</fpage>
          -
          <lpage>74</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Genga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Rossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Diamantini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Storti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Potena</surname>
          </string-name>
          ,
          <article-title>Model repair supported by frequent anomalous local instance graphs</article-title>
          ,
          <source>Information Systems</source>
          <volume>122</volume>
          (
          <year>2024</year>
          )
          <fpage>102349</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Genga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Alizadeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Potena</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Diamantini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Zannone</surname>
          </string-name>
          ,
          <article-title>Discovering anomalous frequent patterns from partially ordered event logs</article-title>
          ,
          <source>Journal of Intelligent Information Systems</source>
          <volume>51</volume>
          (
          <year>2018</year>
          )
          <fpage>1</fpage>
          -
          <lpage>44</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Diamantini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Genga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Potena</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <article-title>Building instance graphs for highly variable processes</article-title>
          ,
          <source>Expert Systems with Applications</source>
          <volume>59</volume>
          (
          <year>2016</year>
          )
          <fpage>101</fpage>
          -
          <lpage>118</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Adriansyah</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. F. van Dongen</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. van der Aalst</surname>
          </string-name>
          ,
          <article-title>Conformance checking using cost-based fitness analysis, in: 2011 ieee 15th international enterprise distributed object computing conference</article-title>
          , IEEE,
          <year>2011</year>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>64</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Adriansyah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Munoz-Gama</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Carmona</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. F.</given-names>
            <surname>Van Dongen</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. Van Der Aalst</surname>
          </string-name>
          ,
          <article-title>Measuring precision of modeled behavior, Information systems</article-title>
          and e-Business Management
          <volume>13</volume>
          (
          <year>2015</year>
          )
          <fpage>37</fpage>
          -
          <lpage>67</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>F. R.</given-names>
            <surname>Blum</surname>
          </string-name>
          , Metrics in process discovery, University of Chile, Santiago, Chile,
          <source>Report</source>
          (
          <year>2015</year>
          )
          <fpage>1</fpage>
          -
          <lpage>21</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Berti</surname>
          </string-name>
          , S. van Zelst,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schuster</surname>
          </string-name>
          ,
          <article-title>Pm4py: A process mining library for python</article-title>
          ,
          <source>Software Impacts</source>
          <volume>17</volume>
          (
          <year>2023</year>
          )
          <fpage>100556</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>