Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 1
Discovery of Interaction Patterns with Graphical User Interface Usage Mining
Discovery of Interaction Patterns with Graphical User Interface - - PowerPoint PPT Presentation
Discovery of Interaction Patterns with Graphical User Interface Usage Mining Markus Schrder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 1 The thesis in two parts Is is possible to observe users in their
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 1
Discovery of Interaction Patterns with Graphical User Interface Usage Mining
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 2
The thesis in two parts
Is is possible to observe users in their day-to-day work on the Desktop and can this give new insights about their GUI usage behavior?
–
Observation and capturing of interactions between
–
Discovery of frequent interaction sequences: Interaction patterns
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 3
Graphical Software Mining
Problem Definition Given a GUI environment, observe the user who works with some application
Hence, record both side and collect the insights in a database called interaction log. ... is the process of mining software exclusively on a graphical level.
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 4
Graphical Software Mining made possible by Accessibility technology
–
screen reader
–
Microsoft Active Accessibility (MSAA) [7]
–
Microsoft UI Automation (UIA) [8]
crawl
–
Window
–
Button
pixel based → rendered to a pixel buffer → throw information away set of GUI elements with properties
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 5
Interaction Initiation
–
no keylogger
–
–
–
combination of
{reft ,middle,right ,xbutton}×{click,doubleclick}
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 6
Program Identification
Program Hash A program hash is calculated by hashing the bytes of the executable file of an application software. The used hash function is Secure Hash Algorithm (SHA) with 512 Bits.
f ph:(bi)i=1
n →SHA−512, bi∈Bytes
–
volatile → persistent
–
program hash
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 7
User Identification
–
unique ID, or if not available
–
processor ID, or if not available
–
name, or if not available
–
manufacturer.
–
identification code,
–
serial number and
–
manufacturer.
–
model,
–
name,
–
serial number and
–
manufacturer.
–
model,
–
signature,
–
total heads and
–
manufacturer.
–
driver version and
–
name.
–
mac address.
–
machine name.
–
for debug
–
analysis in context The user ID is a hash of the following string concatenations:
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 8
GUI Element of Interest
Element of Interest The element of interest (EOI) is a GUI element the user interacts with in a certain moment. For instance, an EOI is a clicked button, a text field the user enters text or a hovered menu item.
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 9
GUI Element of Interest (1) Keyboard
–
true whenever the element has the keyboard focus true false false
∃=1e∈Crawl HasKeyboardFocus(e)≡true⇔e∈ElementOfInterest
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 10
GUI Element of Interest (2) Mouse
–
(2.1) AccessibleObjectFromPoint [4]
–
(2.2) ElementFromPoint [5]
–
compensates errors of (2.1) and (2.2)
– –
four criteria rank
(a) rectangle area → more smaller, more likely EOI (b) level → newer element, higher its level, more likely EOI (c) menu item control type → menu items always on top (d) foreground window belonging → distinguish elements from different windows
Same :=n−1thCrawl∩n−2thCrawl Added:=n−1thCrawl∖n−2thCrawl Candidates:=Same∪Added PossiblyClickedElements:={e|e∈Candidates∧intersection(rectangle(e),cursor)}
n-2th n-1th nth
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 11
GUI Element Identification
–
properties
–
tree structure (parent)
–
child index
–
Runtime ID
–
if not available → generate
–
detect dynamic properties
property level
Runtime ID: 5 Name = 'VLC' Runtime ID: 5 Name = 'VLC - Song01' = ≠ Name property is dynamic
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 13
GUI Asynchrony
–
GUI element
–
intercept mouse event → determine the EOI → forward mouse event
–
accomplished state change
–
meantime another state change
–
detected with simultaneous
–
new event appears while crawling is not finished → invalid crawl
State A State A/B State B Interaction Crawl
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 14
Privacy Issues
–
IsPassword property [6]
–
–
example → email subject
∃e∈Crawl isPassword(e)∧hasKeyboardFocus(e)⇒censor(keyboardEvent)
–
DataItem
–
DataItem
Passwort geändert wurde'
–
...
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 15
Result Interaction Log
–
12 participant-PC pairs
–
105 distinct → version
relationships
elements
–
4620 interacted with
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 16
GUI Usage Mining
Problem Definition Given a stream of interactions, made by one user with one application software, determine frequently interesting reappearing sequences which are the product of intentional actions (patterns). ... is the automatic discovery of usage information from GUI interaction logs. Desktop Functionality Usage Mining focuses on the functional aspect of the desktop (e.g. GUI workflows, patterns and commands). In particular, both CLI and GUI give access to functionality.
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 17
Pattern
Pattern A (graphical user interface interaction) pattern is a sequence of interactions that reoccur among users to express an intentional action. Patterns are caused by the GUI design of an application software: Users are forced to perform certain sequences of interactions which represent tasks.
icon to open a context menu
item "empty trash"
button "yes" to confirm the action
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 18
Reference Patterns
... are patterns which are annotated by experts.
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 19
Preprocessing 1:1 relationship
software (1:1)
–
simplest and most suitable for discovering patterns
–
focus → one specific user working with one specific application software
–
patterns → depend on user & how application softwares used
patterns
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 20
Preprocessing Generalized EOI
–
(1) generalization not necessary
–
(2) generalization can bring a benefit
– MenuItem, Button, Tab, Tree, Table
–
(3) items contained in specific containers
Table DataItem parent Button Text parent
Generalization Specialization parent
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 21
Preprocessing Classification
–
Menu, Window, Group, Pane, TitleBar, List, DataGrid, Header, MenuBar, Tab, Table, ToolBar, Tree
–
Separator
–
TabItee, TreeItem, DataItem, ListItem, Text, Hyperlink, Image, HeaderItem, ProgressBar, StatusBar, Thumb, ToolTip
–
Slider, Spinner, RadioButton, CheckBox, Calendar, Edit, Document, ScrollBar, ComboBox
–
Button, MenuItem (leafs)
–
special case → keyboard shortcut
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 22
Preprocessing Transaction Identification
–
indicate the end of a task resp. pattern
–
either a navigation or a content → less time on navigation, more time on content
–
cut-off time → guess of the percentage of navigation
–
backward reference → occurred earlier in history
–
two clues → crawl or the generalized EOI
–
in specified time interval
→ meaningful clusters found in the log data. For creating a sequence database − a set of sequences.
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 23
Sequential Pattern Mining (S1)
suitable for the problem
–
frequent sequential patterns → minimal frequency above a specified threshold minsup
–
closed sequential patterns → not included in another pattern having the same support
–
maximal sequential patterns → closed pattern not included in another closed pattern
49483 −1 64819 −1 −2 49444 −1 49483 −1 64819 −1 −2 49482 −1 82419 −1 −2 49482 −1 82419 −1 −2 66206 −1 49482 −1 −2 49485 −1 129693 −1 49330 −1 −2 82419 −1 SUP: 2 66206 −1 SUP: 3 49485 −1 SUP: 2 49330 −1 SUP: 2 49482 −1 82419 −1 SUP: 2 49483 −1 64819 −1 SUP: 2
============= Algorithm VMSP − STATISTICS ==== Total time ~ 267 ms Frequent sequences count : 8 Max memory (mb) : 4.31258 minsup 1 Intersection count 5416 ==========================================
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 24
Graph Mining (S2)
–
allow modeling branches and loops
–
element graph
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 25
Process Mining (S3)
–
spaghetti-like process models → abstractions
–
abstractions of processes → patterns
across a set of traces in an event log signifies some set of common functionality accessed by the process" [3]
–
repeat alphabet → set of activities occurring in the repeat
–
abstraction → maximal elements of partial ordering of repeat alphabets
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 26
N-Gram Based Mining (S4)
–
transaction identification difficult
–
short sequences which reappear in a slightly different way
–
adjustable n → uncertainty of the pattern length
–
Equality
– classification equal → compared by control type
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 27
Evaluation Setup
∈
–
"This recurring interaction pattern describes a task accomplishment"
–
−3 → "doesn’t apply", 3 → "applies"
Why did you perform these interactions?"
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 28
Evaluation Result Pattern Quantity
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 29
Evaluation Result Pattern Score
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 30
Evaluation Result k-skip-n-gram analysis
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 31
Conclusion
–
too complex → sequential & time ordered
–
simpler associations
–
–
n:1 relationships more interesting
–
matching errors → alienate generalized interaction log
–
patterns exists & 104 very acceptable could be discovered
–
best strategy unclear → insufficient data points
–
however, first steps made
–
discovering meaningful segments is actually the same as discovering patterns
–
transactions malformed → discovery algorithm fails
evaluation
–
no significance could be argued
–
no strategy returned only acceptable patterns
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 32
Thank you ...
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 33
References
Conference on Data Mining, 2002. Proceedings. (2002).
Business Process Management (2009).
us/library/windows/desktop/dd317977%28v=vs.85%29.aspx (visited on 01/01/2015).
http://msdn.microsoft.com/enus/library/windows/desktop/ee671538%28v=vs.85%29.aspx (visited on 01/01/2015).
http://msdn.microsoft.com/enus/library/windows/desktop/ee684017%28v=vs.85%29.aspx (visited on 01/01/2015).
us/library/ms753388%28v=vs.110%29.aspx (visited on 01/01/2015).
us/library/ms788733%28v=vs.110%29.aspx (visited on 01/01/2015).
Markus Schröder | Discovery of Interaction Patterns with Graphical User Interface Usage Mining | 34
Image References