<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">CauseCheck: A Tool for Simulating Deviations in Event Logs with Known Root Causes</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Frederik</forename><surname>Hake</surname></persName>
							<email>frederik.hake@students.uni-mannheim.de</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Mannheim</orgName>
								<address>
									<addrLine>L15 1-6</addrLine>
									<postCode>68161</postCode>
									<settlement>Mannheim</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Simon</forename><surname>Schneider</surname></persName>
							<email>simon.schneider@students.uni-mannheim.de</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Mannheim</orgName>
								<address>
									<addrLine>L15 1-6</addrLine>
									<postCode>68161</postCode>
									<settlement>Mannheim</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Nikolaos</forename><surname>Theofanopoulos</surname></persName>
							<email>nikolaos.theofanopoulos@students.uni-mannheim.de</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Mannheim</orgName>
								<address>
									<addrLine>L15 1-6</addrLine>
									<postCode>68161</postCode>
									<settlement>Mannheim</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Camila</forename><surname>Gonzalez</surname></persName>
							<email>camila.gonzalez.de.aranda@students.uni-mannheim.de</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Mannheim</orgName>
								<address>
									<addrLine>L15 1-6</addrLine>
									<postCode>68161</postCode>
									<settlement>Mannheim</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><roleName>Poey</roleName><forename type="first">Sie</forename><surname>Chuah</surname></persName>
							<email>poey.chuah@students.uni-mannheim.de</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Mannheim</orgName>
								<address>
									<addrLine>L15 1-6</addrLine>
									<postCode>68161</postCode>
									<settlement>Mannheim</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Michael</forename><surname>Grohs</surname></persName>
							<email>michael.grohs@uni-mannheim.de</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Mannheim</orgName>
								<address>
									<addrLine>L15 1-6</addrLine>
									<postCode>68161</postCode>
									<settlement>Mannheim</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jana-Rebecca</forename><surname>Rehse</surname></persName>
							<email>rehse@uni-mannheim.de</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Mannheim</orgName>
								<address>
									<addrLine>L15 1-6</addrLine>
									<postCode>68161</postCode>
									<settlement>Mannheim</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">CauseCheck: A Tool for Simulating Deviations in Event Logs with Known Root Causes</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">B0453A4882BF00C4C2BC200E2084DE84</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T16:33+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Process Mining</term>
					<term>Conformance Checking</term>
					<term>Root Cause Analysis</term>
					<term>Event Log Generation</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Conformance checking compares process executions in an event log to a process model to detect where and how the executions deviate from the model. However, these techniques are not able to explain why deviations occur, i.e., what the root causes of deviations are. In this vein, root cause analysis techniques have been proposed, but their suitability for conformance deviations is uncertain due to a lack of appropriate evaluation data. To address this gap, this paper presents CauseCheck, a tool that simulates event logs with deviations from a process model for which the causes are known. In particular, the user defines such deviations and assigns corresponding root causes in the form of trace and event attributes. Thus, the logs can be used to show the ability to re-discover the known root causes for deviations.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>Conformance checking aims to analyze the relation between the intended behavior of a process, captured in a process model, and the observed behavior of a process, captured in an event log <ref type="bibr" target="#b0">[1]</ref>. Over the last years, multiple conformance checking techniques have been developed, such as rule checking, token-based replay, and alignments <ref type="bibr" target="#b1">[2]</ref>. As output, the techniques often quantify the degree of conformance, so-called fitness. Some also provide more detailed insights. For example, alignments identify which events have been inserted or skipped <ref type="bibr" target="#b0">[1]</ref>.</p><p>Existing conformance checking techniques are able to identify how and where process executions deviate, but they are not providing any insights why a deviation occurred <ref type="bibr" target="#b1">[2]</ref>. Having these insights into why such deviations occur could help process managers to prevent deviations. Consequently, it would be desirable to support managers by deriving causes for the deviations directly from event data, i.e., derive which attributes causally increase the likelihood of deviations <ref type="bibr" target="#b2">[3]</ref>. Although some techniques aim to unravel root causes for problems (e.g., <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b3">4]</ref>), they have not been shown to detect such causes for conformance deviations.</p><p>To assess and compare the quality of approaches that derive root causes for deviations, appropriate evaluation data is required in the form of event logs that contain deviations from a process model for which the root causes are available as a ground truth. This is not the case for publicly available real-life event logs, for which such a ground truth of root causes for deviations does not exist. That is a common problem when evaluating root cause analysis techniques, not only when analysing causes of deviations. Thus, evaluations are often based on illustrations on these real-life logs rather than comparisons of techniques' capabilities to a ground truth <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b3">4]</ref>. The lack of appropriate evaluation data can be encountered by using simulated data with ground truth, which has not been done for conformance deviations.</p><p>To address this gap, we present the CauseCheck tool for simulating deviations from a process model in event logs for which the root cause is known. Given a process model as input that captures the intended process behavior, the tool simulates an event log and synthetically injects different types of deviations that can occur in a process. In particular, it allows users to use deviation types based on five patterns commonly used to characterize deviations <ref type="bibr" target="#b4">[5]</ref>: inserted, skipped, repeated, replaced, and swapped activities (or sequences thereof). These deviations are assigned root causes in the form of trace and event attributes. For that, the user first defines these trace and event attributes. Then, whenever a particular attribute has a particular value, a deviation occurs with a user-defined likelihood. For example, one potential cause-deviation pair could be "whenever the bank is equal to Bank A, activity Z is skipped in 50% of the traces although it is required according to the model". Further, users can define noise levels, i.e., random occurrences of deviations that are not attributed to a root cause. The tool returns an event log that contains deviations and the root causes within the trace and event attributes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">The CauseCheck Tool</head><p>At https://github.com/FrederikHake/CauseCheck, the CauseCheck Tool can be accessed. In this repository, the user can find the source code, instructions on how to run the tool, and further documentation. A demo video is available at https://github.com/FrederikHake/CauseCheck/ blob/main/Demo%20CauseCheck.mp4.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Functional Components</head><p>As illustrated in Fig. <ref type="figure" target="#fig_0">1</ref>, a process model is required as input to set up an evaluation experiment using CauseCheck. This process model describes the to-be behavior and a playout of it is synthetically changed to contain the deviation and causes. Then, the user defines general characteristics of the desired event log as well as decision point probabilities within the process models. After that, all event and trace attributes should be created. Subsequently, the user defines which deviations from the process model occur and by which trace and event attributes they are caused. Finally, the user has the option to include a level of noise. As output, the tool generates an XES file with the simulated deviations and causes. In the following, we present the steps of the tool in more detail using a loan application process as running example. General Characteristics. After providing a process model which captures the intended behavior in a BPMN or PNML format as input, the user is requested to specify the time-frame of the event log as illustrated in Fig. <ref type="figure">2</ref>. Further, the size of the event log should be defined. Decision Point Probabilities. Process models often include decision points where only one of the multiple paths should be followed. There are processes where certain paths are less common than others, e.g., a cancellation of a loan application is less common than its eventual payout.</p><p>To account for these cases and define the intended behavior in detail, CauseCheck requires the user to assign decision point probabilities to all XOR-choices in the process model. As shown in Fig. <ref type="figure">3</ref>, the tool displays the process model as a Petri net of the process in the upper part of the screen to identify decision points. Then, the user should define probabilities for each path. Per default, the simulation assumes an equal likelihood of all possible paths.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 4: Trace &amp; Event Attributes</head><p>Trace &amp; Event Attributes. The third page of the application prompts the user to define trace and event attributes which can be selected later as root causes for deviations, starting with the event attributes. For that, the user can select attributes of the types numerical, categorical, and time-related from a drop-down menu. For all event attributes, the user defines which attribute values are possible and how likely each value is for each activity the event is associated with. Thereby, only the timestamp is mandatory to be selected so that the user is able to proceed to the next page of the application. After the successful definition of all event attributes, the tool shows a summary of them. Similarly to the event attributes, the user is then prompted to define trace attributes. This particular page is optional. Again, the user may select a trace attribute type from the drop-down, define all possible attribute values, and their corresponding likelihood. For instance, Fig. <ref type="figure">4</ref> shows the trace attribute "Bank" with the three possible values "Bank A", "Bank B", and "Bank C".</p><p>Deviations &amp; Causes. In the next step, the user defines the deviations as well as corresponding ground truth of causes. For that, users can select out of five commonly used deviation types <ref type="bibr" target="#b4">[5]</ref>:</p><p>(1) inserted: an activity (or a sequence) is executed in addition to the intended model behavior at a point in the trace, which is defined by the user (2) skipped: an activity (or a sequence) is not executed although required in the model (3) repeated: an activity (or a sequence) is wrongly re-executed after it has been previously executed in accordance with the model (4) replaced: an activity (or a sequence) is executed instead of another activity (or a sequence) (5) swapped: two activities (or sequences) are performed in the wrong order For each deviation, the user enters a unique identifier and also which activity (or sequence) it should refer to. For example, the user can specify that activity "A_partly submitted" is skipped. Then, a cause (or multiple causes) of the deviation should be defined. For that, users can select all trace and event attributes and choose a particular value as the cause. Further, a likelihood of deviation occurrence is required. For example, as illustrated in Fig. <ref type="figure" target="#fig_2">5</ref>, the user can specify that "A_partly submitted" is skipped with a likelihood of 50% whenever the trace attribute "Bank" is equal to "Bank A". This likelihood corresponds to the causal effect of the attribute value "Bank A" on the skip. After specifying these details, the user adds the new deviation. This can be done for any number of deviations.</p><p>Noise. In the final step, the user can include noise into the event log. This noise is defined as random occurrences of deviations with no associated cause. The user can add general noise (i.e., random occurrence of an undefined deviation), type specific noise (i.e., random occurrence of a deviation type like skipped) and deviation specific noise (i.e., random occurrence of a previously defined deviation). For all different options, the level of noise is assigned as a probability.</p><p>The last screen of the application is responsible for downloading the simulated event log with all its deviations and causes. The user can download both the event log with the deviations they created and a deviation-free log.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Tool Architecture</head><p>The CauseCheck tool features a Python-based back-end and a React-based front-end that communicate through request and response mechanisms. The back-end utilizes Flask-session to ensure communication with the back-end even if the front-end is closed during use. Further, PM4Py <ref type="bibr" target="#b5">[6]</ref> handles the process model and its playout. The front-end, built with TypeScript, incorporates the Material UI React component library for flexibility and easy customization.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Maturity</head><p>We used the tool for processes models of the BPI Challenges 2012 (sub-process with A_ activities only; 12A) and 2020 (International Declarations; Int.) obtained from <ref type="bibr" target="#b6">[7]</ref>. 12A is rather straightforward with only 10 activities whereas Int. is more complex with 34 activities and a potential loop. Based on these models, we simulated 32 logs in total, 16 logs for each 12A and Int. In particular, we inserted either 5, 10, 15, or 20 different deviations into logs with either 100, 1,000, 10,000, or 100,000 traces. Executing these 4 × 4 combinations led to 16 logs per model, which we uploaded to our repository. Execution times in seconds for all 32 logs in Tab. 1 indicate reasonable computational efficiency. Thereby, times are not influenced by the number of deviations and scale approximately linearly with the number of traces. For Int., the times take substantially longer due to the complex process model but are still reasonable with 2 hours.</p><p>To show the functionality of CauseCheck, consider Fig. <ref type="figure" target="#fig_4">6</ref>. It illustrates the occurrences of a skip of the first activity in the 12A log within the simulation of 1,000 traces. This activity should occur in every trace but is synthetically skipped in 50% of the traces associated with Bank A. Since only 50% of the traces are associated with Bank A, the deviation should on average exist in 25% of the traces. In our simulation, the skip occurs in 233 of 1,000 traces, indicating that, after adjusting for randomness in the probabilities, the correct number of traces contains the deviation. Further, consider Fig. <ref type="figure" target="#fig_3">7</ref> which shows the alignment of a different deviating trace. Concretely, A_FINALIZED and A_ACCEPTED are swapped with each other, visible as a log and model move on A_FINALIZED with a synchronous move on A_ACCEPTED in between.</p><p>A_SUBMITTED A_PARTLYSUBMITTED A_PREACCEPTED A_FINALIZED A_ACCEPTED ≫ A_APPROVED A_REGISTERED A_ACTIVATED A_SUBMITTED A_PARTLYSUBMITTED A_PREACCEPTED ≫ A_ACCEPTED A_FINALIZED A_APPROVED A_REGISTERED A_ACTIVATED  We presented CauseCheck, a tool for generating synthetic event logs with conformance deviations for which the ground truth of causes is known. It aims to provide a realistic simulation by assigning probabilities to decision points and incorporating noise. This allows researchers to evaluate tools that want to uncover root causes for conformance deviations. In particular, the output of root cause analysis techniques can be compared to the ground truth, quantifying whether the correct causes for the deviations are detected. In the future, we want to analyze the capabilities of techniques to re-discover deviation causes and potentially propose our solution for the task.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Overview of CauseCheck's functional components</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 : 3 :</head><label>23</label><figDesc>Figure 2: General Characteristics Figure 3: Decision Point Probabilities</figDesc><graphic coords="3,89.29,360.64,177.10,226.25" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 5 :</head><label>5</label><figDesc>Figure 5: Deviations &amp; Causes</figDesc><graphic coords="5,293.39,471.75,212.59,148.59" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 7 :</head><label>7</label><figDesc>Figure 7: Alignment of Trace with Swap of A_FINALIZED and A_ACCEPTED in BPIC12</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 6 :</head><label>6</label><figDesc>Figure 6: Distribution of Skip Based on Trace Attribute Bank</figDesc><graphic coords="7,350.08,267.28,155.91,124.72" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1</head><label>1</label><figDesc>Execution Times in Seconds for 12A and Int., subdivided by No. of Deviations and No. of Traces</figDesc><table><row><cell></cell><cell></cell><cell>12A</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>Int.</cell><cell></cell><cell></cell><cell></cell></row><row><cell># Traces</cell><cell># Devs</cell><cell>5</cell><cell>10</cell><cell>15</cell><cell>20</cell><cell># Traces</cell><cell># Devs</cell><cell>5</cell><cell>10</cell><cell>15</cell><cell>20</cell></row><row><cell></cell><cell>100</cell><cell>2</cell><cell>3</cell><cell>2</cell><cell>1</cell><cell></cell><cell>100</cell><cell>12</cell><cell>10</cell><cell>10</cell><cell>8</cell></row><row><cell></cell><cell>1,000</cell><cell>3</cell><cell>2</cell><cell>6</cell><cell>3</cell><cell></cell><cell>1,000</cell><cell>113</cell><cell>109</cell><cell>85</cell><cell>118</cell></row><row><cell></cell><cell>10,000</cell><cell>21</cell><cell>9</cell><cell>47</cell><cell>25</cell><cell></cell><cell>10,000</cell><cell>940</cell><cell>753</cell><cell>732</cell><cell>646</cell></row><row><cell></cell><cell cols="5">100,000 337 323 359 322</cell><cell></cell><cell cols="5">100,000 7,258 7,115 6,808 7,142</cell></row></table></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><forename type="first">J</forename><surname>Carmona</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Van Dongen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Solti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Weidlich</surname></persName>
		</author>
		<title level="m">Conformance Checking -Relating Processes and Models</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Attribute-based conformance diagnosis: Correlating trace attributes with process conformance</title>
		<author>
			<persName><forename type="first">M</forename><surname>Grohs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-R</forename><surname>Rehse</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICPM Workshops</title>
				<imprint>
			<date type="published" when="2023">2023</date>
			<biblScope unit="page" from="203" to="215" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Feature recommendation for structural equation model discovery in process mining</title>
		<author>
			<persName><forename type="first">M</forename><surname>Qafari</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Aalst</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Prog Artif Intell</title>
		<imprint>
			<biblScope unit="page" from="1" to="25" />
			<date type="published" when="2022">2022</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Process mining meets causal machine learning: Discovering causal rules from event logs</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Bozorgi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Teinemaa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Dumas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Rosa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Polyvyanyy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ICPM</title>
		<imprint>
			<biblScope unit="page" from="129" to="136" />
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Auditors&apos; categorization of process deviations</title>
		<author>
			<persName><forename type="first">M</forename><surname>Hosseinpour</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jans</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Information Systems</title>
		<imprint>
			<biblScope unit="volume">38</biblScope>
			<biblScope unit="page" from="67" to="89" />
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<author>
			<persName><forename type="first">A</forename><surname>Berti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">J</forename><surname>Van Zelst</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Van Der Aalst</surname></persName>
		</author>
		<title level="m">Process mining for python (pm4py): Bridging the gap between process-and data science</title>
				<meeting>ess mining for python (pm4py): Bridging the gap between process-and data science</meeting>
		<imprint>
			<publisher>ICPM Demos</publisher>
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Business process deviation prediction: Predicting nonconforming process behavior</title>
		<author>
			<persName><forename type="first">M</forename><surname>Grohs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Pfeiffer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-R</forename><surname>Rehse</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ICPM</title>
		<imprint>
			<biblScope unit="page" from="113" to="120" />
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
