<!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>C</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Clustering Software Developer Repository Accesses with the Cophenetic Distance</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>David Sa´nchez-Charles</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Josep Carmona</string-name>
          <email>jcarmona@cs.upc.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Victor Munte´s-Mulero</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marc Sole` Simo</string-name>
          <email>Marc.Soleg@ca.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CA Strategic Research</institution>
          ,
          <addr-line>CA Technologies</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universitat Polite`cnica de Catalunya</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <volume>5</volume>
      <issue>4</issue>
      <fpage>100</fpage>
      <lpage>110</lpage>
      <abstract>
        <p>In this paper we report a case study on the use of the cophenetic distance for clustering software developer behavior accessing to a repository. This distance was recently proposed for the comparison of tree-based process models. We show how hierarchical clustering techniques over the cophenetic distance are capable of detecting homogeneous clusters corresponding to well-defined software developer roles. The techniques have been evaluated on real-life data from a software development project, and the quality of the clusters over the cophenetic distance is compared with similar techniques in the literature.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Globalization of large enterprises is encouraging the industry to move towards Software
as a Service (SaaS) solutions and communicate in digital platforms. One of the key
benefits of these SaaS solutions is that any employee can access it whenever and wherever
they can, and with limited resources such as personal laptops or mobile phones. Besides,
these technologies enables for decentralized collaboration with peers in completely
different time zones, providing diversity and flexibility in the workplace.</p>
      <p>In the context of software development, Apache Subversion (SVN) and GitHub are
two software versioning and revision control systems that allows software developers
to collaborate in the maintenance and development of software, by monitoring changes
in files such as source code, web pages and documentation. Those system have a record
of actions performed by users, in order to increase visibility of developers or in case
some changes need to be reverted.</p>
      <p>The objective of this paper is to test if we are able to recover the original function
(or role) of some workers of an organization, based on the actions performed in the
software repository. Instead of directly analyzing sequences of actions, we propose to
summarize them in the form of a process model. I.e. we will assume that a process
model is capable of representing the behavior of the individuals in the platform. On
the long-run, this is the first step to assess if one is able to gain some knowledge about
individuals by analyzing, and comparing, how they behave in a digital platform.</p>
      <p>In case of success, the techniques of this paper open the door for interesting
applications, ranging from profiling of user behavior, detection of outlier behavior that may
be suspicious of malware or fraud, user interfaces and processes that adapt to the
behaviour of the user, and, in general, other scenarios in which we want to predict some
attribute of the process owner. It will be of particular interest in crowdsourcing projects,
in which organizations outsource particular internal processes to large corpora of
virtual workers across the globe, for allowing organization to understand which type of
workers are contributing to their problem resolution.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Methodology</title>
      <p>In this paper we will try to group users with a similar role by analyzing the actions that
they performed in a digital platform. The following diagram summarizes the approach
we followed in this paper:</p>
      <sec id="sec-2-1">
        <title>Process Discovery</title>
      </sec>
      <sec id="sec-2-2">
        <title>Process Model</title>
        <p>Comparison</p>
      </sec>
      <sec id="sec-2-3">
        <title>Clustering</title>
        <p>First, we preprocess the actions performed by the users and apply a process
discovery technique over them. Following the process discovery, we will apply a process
model comparison for measuring the pairwise dissimilarity of all process models and,
implicitly, the dissimilarity of the human behavior that they represent. Finally, a
clustering technique will be applied in order to discover groups of users with similar process
models.</p>
        <p>Section 2.1 briefly discusses the discovery of the process models that represents the
behavior of the users. Section 2.2 covers the considered similarity metrics on this case
study, and then Section 2.3 briefly mentions some clustering techniques appropriated for
this scenario. Later in Section 3, we will evaluate such metrics and clustering techniques
by applying them on a real-scenario in which the roles of the individuals are already
known.
2.1</p>
        <sec id="sec-2-3-1">
          <title>Process Discovery</title>
          <p>The first step would be to generate a representation of the behavior of users in the
digital platform. For this we have chosen to discover process models that summarizes
the sequences of actions performed by users. Analyzing behavior over process models,
instead of directly on the sequences, allow us to not focus on the specifics (such as,
for instance, activity A has been repeated 5 times) but the general overview of how the
user behaved (following the example, a process model simply states that activity A is
usually repeated several times, whilst the number of times is not relevant).</p>
          <p>Some sort of preprocessing may be needed in order to generate a process model. In
particular, we may need to clean event names or ensure that traces represent independent
runs of the underlying process. In our case, traces must compromise actions in a single
session, with a unique purpose. In case this information is not provided, some heuristics
must be applied in order to artificially split those sessions. For example, a login event
may clearly separate two different sessions.</p>
          <p>
            As for the process discovery itself, we will use the infrequent Inductive Miner [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ].
This algorithm provides a good generalization of process models, can be efficiently
applied to large event logs, and its output is a process tree – as required by some distances
used in Section 2.2.
2.2
          </p>
        </sec>
        <sec id="sec-2-3-2">
          <title>Process Model Comparison</title>
          <p>The state of the art techniques for comparing process models can be naively split
into structural and behavioral. In the former, process models are considered as labeled
graphs and the comparison is regarded as edit operations over their edges, nodes or both.
In contrast, behavioral techniques focus at the comparison of the execution semantics
of the compared models.</p>
          <p>
            If we focus on the case of structural comparison of process models, techniques based
on graph edit operations have been defined [
            <xref ref-type="bibr" rid="ref12 ref3 ref4 ref5">5,3,4,12</xref>
            ]. In particular, we will consider the
graph edit distance as defined in [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ] for representing the group of structural similarity
metrics. This distance counts the number of modifications (addition or removal of nodes
and edges) must be performed in order to transform one process model into the other.
          </p>
          <p>
            Analogously to structural techniques, behavioral ones compare how activities are
related to each other. A behavioral profile of a process is a representation of the process
model as an n n matrix, where n is the number of tasks in the process [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ]. An
element wi;j in the matrix states the behavioral relation between the activity represented
by the row i and the column j, which can be causality (typically depicted by &gt;), reverse
causality (&lt;), mutually exclusive (_) or co-occurrence (^) in the case of causal
behavioral profiles. Behavioral profiles provides one mechanism for comparing the behavior
of two process models, by counting the number of cells in which the two processes do
not have the same behavioral relation.
          </p>
          <p>A B C D
^ ^ &gt;
_ &gt;</p>
          <p>&gt;
A
B ^
C ^ _
D &lt; &lt; &lt;</p>
          <p>
            In [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ], we showed that the boundary between structural and behavioral metrics is not
very clear, and some metrics capture behavioral differences even though they are purely
defined in an structured manner. The Cophenetic Distance fall in this fuzzy boundary,
and we will also consider it in this study.
          </p>
          <p>In the rest of this section, we provide an informal explanation of the Cophenetic
distance, whilst the rest of distances are well-known in the literature. The use of this metric
limits the scope of the study to process trees in which activities are not duplicated.
Nevertheless, the inductive miner algorithm already provides such type of process models,
and such constraint also makes feasible the computation time of the aforementioned
techniques.</p>
        </sec>
        <sec id="sec-2-3-3">
          <title>Cophenetic Distance over Process Trees A process tree is a labeled rooted tree T</title>
          <p>in which activities are represented as leaves of the tree and internal nodes describe the
control-flow of the process. For the sake of simplicity, we will label internal labels as
OR3, AND, SEQ and LOOP to represent the usual behavioural structures in a process
model. We will also denote by gateways to these internal nodes, following the BPMN
nomenclature. Children of a SEQ gateway are ordered in order to represent the
sequential ordering of the subprocesses they represent. We allow silent activities by labeling
them as ;. Figure 2 depicts an example of a sequential process with a optional branch
and two concurrent activities. On the right, the same process is represented as a process
tree.</p>
          <p>SEQ</p>
          <p>OR
A</p>
          <p>AND
C</p>
          <p>B
;</p>
          <p>D</p>
          <p>
            In any process tree T , the deepest common ancestor of two nodes u and v–denoted
by [u; v]T –holds the direct causal relationship of the two nodes, and the depth of the
common ancestor denotes the complexity of the process structure up to this behavioural
decision. The depth of [u; v]T is known as Cophenetic value, simply denoted by DepthT
3 Following the semantics of block-structured models in [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ], only exclusive ORs are modeled.
([u; v]T ), and the Cophenetic vector is the collection of such Cophenetic values for
every possible pair of nodes u and v. Authors in [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] show that the Cophenetic vectors are
enough to discern the structure of a certain class of labeled trees, which includes process
trees without activity repetitions. And therefore, we could define a structural distance
between process trees based on their cophenetic values.
          </p>
          <p>Definition 1. Let T and T 0 be two process trees, and S the set of activities of the two
trees. Their cophenetic distance is
d'(T; T 0) = X jDepthT ([i; j]T )</p>
          <p>DepthT 0 ([i; j]T 0 )j
For the sake of simplicity Depth([i; j]T ) is zero if either i or j are not present in the
process tree T .</p>
          <p>SEQ1</p>
          <p>OR2
A3</p>
          <p>B3</p>
          <p>AND2
OR3</p>
          <p>E3
C4</p>
          <p>D4</p>
          <p>A B C D E
A 3 2 1 1 1
B 3 1 1 1
C 4 3 2
D 4 2
E 3</p>
          <p>A B C D E
A 3 2 1 1 1
B 3 1 1 1
C 4 3 2
D 4 2
E 3</p>
          <p>OR2
A3</p>
          <p>B3</p>
          <p>SEQ1
C4</p>
          <p>AND3</p>
          <p>E3
OR2
D4</p>
          <p>
            Unfortunately, cophenetic vectors are not enough for determining behavioral
similarity: for instance, Figure 3 depicts two similar processes where two internal nodes
have been interchanged, but share the same cophenetic vector due to havin identical
structures. In [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ], we presented a new approach to compare process trees using the
cophenetic distance that, by modifying the notion of tree depth, enables us to overcome
such issue and leverages the traditional structural comparison with the behavioural
information hard-coded into the new depth. Let’s take the left model of Figure 4 to
illustrate some of the rules defined in [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]. Activities A and B originally had depth 3, but
2:5 considering the proposed depth definition: the depth of their parent, which is 2, plus
0:5 given the dichotomy of the exclusive choice they are representing. The AND
gateway was originally at depth 2 since it was a direct child of the root, whilst we are now
positioning it at depth 3:5 as if it was a direct consequence of the two activities A and
B. These consecutive depths are triggered by the behavioral function of its parent node
– a sequential construct. One can check [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] for more details on how this new depth is
defined.
OR2
          </p>
          <p>AND3:5
A2:5</p>
          <p>B2:5</p>
          <p>OR4:5
C5</p>
          <p>D5
OR2</p>
          <p>B2:5</p>
          <p>OR3:5
AND4</p>
          <p>E4
C5</p>
          <p>
            D5
all process models, i.e. cell Di;j includes the distance between the process models of
users i and j. This distance may be difned by the graph edit distance [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ], differences in
their causal behavioral profiles [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] or the cophenetic distance [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] as briefly discussed
in section 2.2.
          </p>
          <p>In this final step, our objective is to create groups of individuals that are close to
each other with respect to the distance matrix D. The standard de-facto technique for
clustering based on a distance matrix is Hierarchical clustering.</p>
          <p>
            Hierarchical clustering Hierarchical clustering [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] follows a bottom-up approach, in
which every individual starts within their own cluster and then iterates by merging the
two most similar clusters into a bigger cluster. One tackles the issue of finding the two
most similar clusters by averaging the distances of the individuals within the clusters.
The only drawback of this technique is that the number of groups must be manually
fixed. In our experiments, we will run the hierarchical clustering for all the possible
number of groups.
3
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Evaluation</title>
      <p>In this section, we test the methodology explained in Section 2 with a real industrial
dataset. First, we describe the provided behavioural data of 200 individuals and their
organizational roles in the company. Process discovery is used to summarize the
behavioural data from each individual, and dissimilarities between those processes are
meant to measure differences in the behaviour of the individuals. Then, we test some
clustering approaches with three different similarity metrics to measure how good they
approximate the original organizational rules.
3.1</p>
      <sec id="sec-3-1">
        <title>Framework of the evaluation</title>
        <p>
          Apache Subversion (SVN) is a software versioning and revision control system.
Software developers use SVN software to collaborate in the maintenance and development
of software, by monitoring changes in files such as source code, web pages and
documentation. All accesses to a SVN repositroy are done through HTTP/S, as specified in
the WebDAV/DeltaV protocol. It turns out [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] that those read and write requests over
HTTP/S can be translated to human-friendly SVN commands such as svn update or svn
commit. Continuining the work done by Li Sun et.al. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], we model the behaviour of
developers by using process discovery techniques. First, SVN commands are retrieved
from the system and considered as events of a system that represents the developer, and
then a trace is defined as all commands executed during a complete business day. As
already mentioned in Section 2.1, we discover Process Trees using the default settings
of the Inductive Miner Plugin (ProM 6.5.1).
        </p>
        <p>This industrial dataset contains all the accesses of more than 200 individuals to
one repository of CA Technologies in production for three years. After pruning users
with few accesses to the repository, 83 individuals were kept in the study and their
organizational roles were retrieved at the end of the monitoring phase. In particular,
37 Forward Engineering, 19 Quality Assurance Engineers, 16 Sustaining Engineer,
5 Support, 2 Services, 1 SWAT Engineer, 1 Infrastructure, 1 Technical Writers. The
following list summarizes the responsibilities for each role.</p>
        <p>– Forward Engineers (R1) are in charge of the implementation of new features.
– Quality Assurance Engineers (R2) plan, run and design use cases or tests.
– Sustaining Engineers (R3) are in charge of solving defects, as well as ensuring that
software successfully passes all tests.
– SWAT engineers (R4) are in charge of implementing custom integrations.
– Support (R5), Services (R6) and Infrastructure Engineers (R7) interact with
internal and external customers with respect to defect detection and solution, software
installation and configuration, and maintenance of the infrastructure of Software as
a Service solutions provided by the company. Support Engineers might push some
quick fixes into products.
– Technical Writers (R8) collaborate with Forward, Sustaining and Quality
Assurance Engineers for creating helpful Knowledge Base and User Guides. Technical
Writers are asked to use the source code repository to maintain different versions
of the documentation.</p>
        <p>Among all the engineers, and fairly distributed among roles, 9 individuals are
Managers of a team. Besides, one agent is labeled as a bot, although the purpose of such bot
is unknown to the authors of this paper. Notice that one has the possibility of
advancing in their career and change to another department, and, therefore, some individuals
might have been misclassified as their latest role. Infrastructure and Service Engineers
are not supposed to access the repository in their usual pipeline and, therefore, might
have been promoted during the project. Nevertheless, clustering may help us to deduce
their original roles in the organization.</p>
        <p>During the rest of the evaluation we plan to answer the following question in regard
of this scenario:
– How good is clustering of process models for approximating the original role of the
individuals?
– Which is the expected role of the bot? And what about the role of other anomalies?
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Homogeneity of roles in process-based Clustering</title>
        <p>In order to measure the quality of the clustering, we will use the purity as the metric
for measuring the homogeneity of the discovered groups. Let C = fC1; : : : ; Cmg be a
clustering of the process models, and Ri(Cj ) be the number of individual in cluster Cj
with the role Ri, then the purity is defined as</p>
        <p>Purity(C; R) =</p>
        <p>1
Number of processes
j2C
X max Ri(Cj )</p>
        <p>Ri
In other words, the purity computes accuracy as if we label all individuals inside a
group with the most popular role inside it. In particular, very heterogeneous groups of
individuals will lead to a poor purity.</p>
        <sec id="sec-3-2-1">
          <title>Role</title>
        </sec>
        <sec id="sec-3-2-2">
          <title>Manager</title>
          <p>As for the bad performance with respect to Sustaining Engineers, notice that
responsibilities of the Sustaining (R2), Quality Assurance (R3), SWAT (R4) and Support
engineers (R5) are all related to defects and bug fixing, and, therefore, they may share
some common behaviour and practices. Besides, the number of Sustaining Engineers is
slightly below the number of Quality Assurance Engineers, and, hence, it is more likely
to label users as Quality Assurance Engineers in case of grouping them together.Table
2 summarizes the precision and recall for a clustering of 6 groups. Notice that precision
and recall of the Forward Engineer category are not significantly affected in the case
of the cophenetic distance, indicating the existence of groups with a strong presence of
Forward Engineers. On the other hand, precision and recall are very affected in both
GED and Behavioral Profiles cases. The results provided by the GED are an indication
of one or more small groups groups of Forward Engineers (perfect precision, but low
recall), and a big group in which half of the developers have a role in R2345 and the
rest are Forward Engineers or other minor roles. As for behavioral profiles, results are
slightly worse than the cophenetic distance, but still incapable of detecting the group of
Managers.</p>
          <p>
            We have run the same experiments using DBSCAN [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ] as the clustering method.
The key benefit of DBSCAN is that the number of clusters is not fixed prior to the
clustering, as it defines clusters as groups of individuals that are densely together4.
Unfortunately, results are significantly worse than the provided by the hierarchical
clustering – with purity not surpassing 0:5 across several hyperparameter of the DBSCAN
algorithm.
          </p>
          <p>Inducing the real role of outliers Some role anomalies were present in the dataset.
For instance, two individuals were classified as Service Engineers (R6) although
accessing to the source code repository is not part of their responsibilities. As we have
already mentioned, the role data was obtained during the finalization of the project and,
hence, the worker may have changed from one department to another. In this case, one
service engineer (R6) is more close to Quality Assurance Engineers (R3), and the other
is close to a group of Forward Engineers (R1). The three distances are consistent with
4 I.e. for every process model in the cluster, there must be at least k process models at distance
less or equal than d. Both k and d are manually fixed.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Cophenetic GED Behavioral Profiles</title>
        <p>Precision Recall Precision Recall Precision Recall</p>
        <p>Manager 0:71 0:55 No individual was labelled
Forward Engineer (R1) 0:60 0:78 1:00 0:05 0:65 0:35
R2345 0:72 0:63 0:50 1:00 0:56 0:85</p>
        <p>Others No individual was labelled
Table 2. Precision and Recall for each of the roles in the organization by considering a
hierarchical clustering with 6 groups after merging Sustaining, Quality Assurance, SWAT and Support
Engineers into a unique role R2345. In some cases, none of the groups had enough representation
of a role.
these results. With respect to the Infrastructure Engineer (R7), the cophenetic distance
and behavioural profiles map this user close to Sustaining Engineers (R2) whilst the
graph edit distance relate him to Forward engineers (R1). Finally, with respect to the
agent labeled as a BOT, the cophenetic and the graph edit distance group it with other
Quality Assurance Engineers (R3). This might be a hint that the bot is indeed an
automatic testing system. Nevertheless, Behavioural Profiles are less accurate and relate this
agent close to a mixed group of Forward (R1), Sustaining (R2) and Quality Assurance
engineers (R3).
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusions and Future Work</title>
      <p>In this paper, we have applied the cophenetic distance for process models to recover
groups of individuals with similar behaviours, and hence similar roles and
responsibilities. Our approach is based on comparing the behaviour of process models discovered
on real logs, instead of comparing them directly on the logs, allowing us to compare
a generalization of the behaviour instead of falling into the specificness of traces. For
instance, our approach allowed us to realize that a bot was working for a specific team,
as this bot behaved as the other team members. We compared our cophenetic approach
with three other process similarity metrics and we have seen that our approach
consistently provides better role retrieval, as well as detecting a small group of individuals
acting as Managers of a team.</p>
      <p>As future work, we would like to investigate the possibility of discovering process
models for each cluster such that the trace-fitness within the individuals in the cluster
is high, whilst significantly lower when applied to individuals outside the cluster. That
would help in understanding the behavior of new users into the system.
Acknowledgements. This work is partially funded by Secretaria de Universitats i
Recerca of Generalitat de Catalunya, under the Industrial Doctorate Program 2013DI062,
and the Spanish Ministry for Economy and Competitiveness (MINECO), the European
Union (FEDER funds) under grant COMMAS (ref. TIN2013-46181-C2-1-R).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>J. C. A. M. Buijs</surname>
            ,
            <given-names>B. F. van Dongen</given-names>
          </string-name>
          , and
          <string-name>
            <surname>W. M. P. van der Aalst.</surname>
          </string-name>
          <article-title>A genetic algorithm for discovering process trees</article-title>
          .
          <source>In 2012 IEEE Congress on Evolutionary Computation</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Gabriel</given-names>
            <surname>Cardona</surname>
          </string-name>
          , Arnau Mir, Francesc Rossell o´,
          <article-title>Luc´ıa Rotger, and David Sa´nchez. Cophenetic metrics for phylogenetic trees, after sokal and rohlf</article-title>
          .
          <source>BMC Bioinformatics</source>
          ,
          <volume>14</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>13</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Remco</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Dijkman</surname>
          </string-name>
          , Marlon Dumas, and
          <article-title>Luciano Garc´ıa-Ban˜uelos. Graph matching algorithms for business process model similarity search</article-title>
          .
          <source>In BPM</source>
          <year>2009</year>
          , Ulm, Germany, September 8-
          <issue>10</issue>
          , pages
          <fpage>48</fpage>
          -
          <lpage>63</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Remco</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Dijkman</surname>
          </string-name>
          , Marlon Dumas, Luciano Garc´
          <article-title>ıa-Ban˜uelos, and Reina Ka¨a¨rik. Aligning business process models</article-title>
          .
          <source>In EDOC</source>
          <year>2009</year>
          ,
          <article-title>1-4 September 2009</article-title>
          , Auckland, New Zealand, pages
          <fpage>45</fpage>
          -
          <lpage>53</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Remco</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Dijkman</surname>
          </string-name>
          , Marlon Dumas, Boudewijn F. van
          <string-name>
            <surname>Dongen</surname>
          </string-name>
          ,
          <article-title>Reina Ka¨a¨rik, and Jan Mendling. Similarity of business process models: Metrics and evaluation</article-title>
          . Inf. Syst.,
          <volume>36</volume>
          (
          <issue>2</issue>
          ):
          <fpage>498</fpage>
          -
          <lpage>516</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Martin</given-names>
            <surname>Ester</surname>
          </string-name>
          ,
          <string-name>
            <surname>Hans-Peter Kriegel</surname>
            , Jrg Sander, and
            <given-names>Xiaowei</given-names>
          </string-name>
          <string-name>
            <surname>Xu</surname>
          </string-name>
          .
          <article-title>A density-based algorithm for discovering clusters in large spatial databases with noise</article-title>
          . pages
          <fpage>226</fpage>
          -
          <lpage>231</lpage>
          . AAAI Press,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Sander</surname>
            <given-names>J. J.</given-names>
          </string-name>
          <string-name>
            <surname>Leemans</surname>
          </string-name>
          , Dirk Fahland, and
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          .
          <article-title>Discovering blockstructured process models from event logs containing infrequent behaviour</article-title>
          .
          <source>In Business Process Management Workshops</source>
          <year>2013</year>
          , pages
          <fpage>66</fpage>
          -
          <lpage>78</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Fionn</given-names>
            <surname>Murtagh</surname>
          </string-name>
          and
          <string-name>
            <given-names>Pierre</given-names>
            <surname>Legendre</surname>
          </string-name>
          .
          <article-title>Ward's hierarchical agglomerative clustering method: Which algorithms implement ward's criterion?</article-title>
          J. Classif.,
          <volume>31</volume>
          (
          <issue>3</issue>
          ):
          <fpage>274</fpage>
          -
          <lpage>295</lpage>
          ,
          <year>October 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>David</given-names>
            <surname>Sa</surname>
          </string-name>
          <article-title>´nchez-</article-title>
          <string-name>
            <surname>Charles</surname>
          </string-name>
          ,
          <article-title>Victor Munte´s-Mulero, Josep Carmona, and Marc Sole´</article-title>
          .
          <article-title>Process model comparison based on cophenetic distance</article-title>
          .
          <source>In Business Process Management Forum - BPM Forum</source>
          <year>2016</year>
          , Rio de Janeiro, Brazil,
          <source>September 18-22</source>
          ,
          <year>2016</year>
          , Proceedings, pages
          <fpage>141</fpage>
          -
          <lpage>158</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Li</surname>
            <given-names>Sun</given-names>
          </string-name>
          , Serdar Boztas, Kathy Horadam,
          <string-name>
            <given-names>Asha</given-names>
            <surname>Rao</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Steven</given-names>
            <surname>Versteeg</surname>
          </string-name>
          .
          <article-title>Analysis of user behaviour in accessing a source code repository</article-title>
          .
          <source>Technical report</source>
          , RMIT University and CA Technologies,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Matthias</surname>
            <given-names>Weidlich</given-names>
          </string-name>
          , Jan Mendling, and
          <string-name>
            <given-names>Mathias</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <article-title>Efficient consistency measurement based on behavioral profiles of process models</article-title>
          .
          <source>IEEE Tr. Soft. Eng.</source>
          ,
          <volume>37</volume>
          (
          <issue>3</issue>
          ):
          <fpage>410</fpage>
          -
          <lpage>429</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Zhiqiang</surname>
            <given-names>Yan</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Remco M. Dijkman</surname>
            , and
            <given-names>Paul W. P. J.</given-names>
          </string-name>
          <string-name>
            <surname>Grefen</surname>
          </string-name>
          .
          <article-title>Fast business process similarity search</article-title>
          .
          <source>Distributed and Parallel Databases</source>
          ,
          <volume>30</volume>
          (
          <issue>2</issue>
          ):
          <fpage>105</fpage>
          -
          <lpage>144</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>