Visualizing the Workflow
of Developers
Roberto Minelli and Michele Lanza
REVEAL @ Faculty of Informatics
University of Lugano, Switzerland
http://dflow.inf.usi.ch
Developers spend a large part of their working time using
an Integrated Development Environment
W
riting
W
riting
Navigating
W
riting
Navigating
“Programmers spend more time navigating the code
than working with it.” M. Kersten and G.C. Murphy
“Mylar: a degree-of-interest model for IDEs” AOSD 2005
W
riting
Navigating
20%
80%
DFlow Data
9,521 Events
7,588 Navigation Events
1,933 Editing events
“Programmers spend more time navigating the code
than working with it.” M. Kersten and G.C. Murphy
“Mylar: a degree-of-interest model for IDEs” AOSD 2005
Window-based IDE
Tabs-based IDE
D. Roethlisberger, O. Nierstrasz, S. Ducasse
“Autumn leaves: Curing the window plague in IDEs” WCRE 2009
“Devs are forced to open
multiple windows (tabs).
The IDE becomes a
crowded workspace.
While the developer
interacts with the IDE
A tool records all the
IDE interactions
Generates a large
amount of data (events)
Reflect on
the IDE
DFlow
How, when, why do
developers use the IDE to
navigate the system?
To what extent does the IDE
support the navigation?
DFlow
DFlow
DFlow
WEB
Enables retrospective
analyses through a web-
based visual platform.
IDE
Records all the IDE
interactions while the
developer program.
9 types of
Editing
18 types of
Inspection
6 types of
Navigation
Browsing a class or a method
Stepping in a debugger or
inspecting the internals of an object
Adding or removing a class or a method
Browsing a class or a method
Stepping in a debugger or
inspecting the internals of an object
Adding or removing a class or a method
DFlow Data
+20 Sessions
9,521 Events
7,367 Navigation Events
221 Inspecting events
1,933 Editing events
What to do with this
large amount of data?
Compress Structure Present
DEMO
DFlow
Insights
Visualizations
All navigation events and one
single editing
A debugging session
Green navigation stacks
(browsing the API of a class)
Back edge means that she
uses what she discovered in
a different context
What’s
next?
Refine the current
visualizations
and devise new views
Devise a paern language
from the visualizations
Evaluate our visualizations
(user study)
What’s
next?
W
riting
Navigating
What to do with this
large amount of data?
While the developer
interacts with the IDE
A tool records all the
IDE interactions
Generates a large
amount of data (events)
Reflect on
the IDE
DFlow
Green navigation stacks
(browsing the API of a class)
W
riting
Navigating
What to do with this
large amount of data?
While the developer
interacts with the IDE
A tool records all the
IDE interactions
Generates a large
amount of data (events)
Reflect on
the IDE
DFlow Green navigation stacks
(browsing the API of a class)
Any other idea?
Talk to me (or drop me an email)
robertominelli
roberto.minelli@usi.ch

Visualizing the Workflow of Developers [VISSOFT2013]