Paper presentation given at the International Conference on Fundamental Approaches to Software Engineering (FASE) in March 2013. The paper can be found <a>here</a>.
Discovering Branching Conditions from Business Process Execution Logs
1. Discovering Branching
Conditions from Business
Process Execution Logs
Massimiliano de Leoni, Marlon Dumas,
Luciano García-Bañuelos
University of Tartu, Estonia
(Joint work with Eindhoven University of Technology)
3. Business Process Mining
DiscoveringBranchingConditions
2
Start
Register order
Prepare
shipment
Ship goods
(Re)send bill
Receive payment
Contact
customer
Archive order
End
Performance Analysis
Process Model
Organizational Model
Social Network
Event
Log
Slide by Ana Karla Alves de Medeiros (TU/e)
ProM
Process mining
workbench
7. Decision miner: Not a panacea!
• Decision tree learning cannot discover expressions of the
form “v op v”
DiscoveringBranchingConditions
6
Approve
Simple
Application
Approve
Complex
Application
Notify
Rejection
Notify
Eligibility
installment > salary
The decision miner would return:
installment ≤ 1760 ∧ salary ≤ 1750 ∨
installment ≤ 1810 ∧ salary ≤ 1800 ∨
installment ≤ 1875 ∧ salary ≤ 1850 ∨
installment ≤ 1960 ∧ salary ≤ 1950 ∨
installment ≤ 1975 ∧ salary ≤ 1970 ∨
installment ≤ 2000 ∧ salary ≤ 1990 ∨ …
8. Problem statement
• Discovery of branching conditions composed of atoms of
the form “v op c” and “v op v”, including linear equations
or inequalities involving multiple variables
• Our solution combines
• Tools for dynamic analysis of software
(i.e., likely invariant discovery)
• Theory of decision tree learning
DiscoveringBranchingConditions
7
9. Daikon
• Tool for discovering likely invariants from execution logs
• Given a set of program points, Daikon:
• Instantiates a set of invariant templates
(over certain combination of variables)
• Traverses the execution log
• Falsifying some invariants
• Gathering the statistical support for the remaining templates
• Discards some invariants based on:
• Subsumption
• Statistical support
Daikon strongly relies on code instrumentation/analysis
DiscoveringBranchingConditions
8
11. BranchMiner (Conjunctive)
• Information Gain (IG) quantifies the discriminating power of a
predicate (with respect to two different outcomes)
• Approach:
• Use Daikon for discovering invariants
• Combine invariants in a conjunction so as to maximize the overall IG
DiscoveringBranchingConditions
10
Approve
Simple
Application
Approve
Complex
Application
Notify
Rejection
Notify
Eligibility
a1: installment > salary
a2: amount ≥ 5000
a3: length < age
…
IG(a1) = 0.8
IG(a2) = 0.2
IG(a3) = 0
…
IG(a1∧a2) = 0.8
…
17. Conclusions
• We developed a technique for discovering branching
conditions from event logs
• Complex expressions (e.g., “v op v”, linear inequalities, etc.)
• More compact than those mined with conventional decision trees
• Integration into ProM
• Implemented as a command line tool
• Validation with real-life logs
• Assessed with synthetically generated event logs
• Areas for extensions
• Coping with noise in the event logs
• Handling of null values
• Extending the coverage to more complex types of expressions
DiscoveringBranchingConditions
16