Visualizing the Workflow of Developers Roberto Minelli and Michele Lanza REVEAL @ Faculty of Informatics University of Lugano, Switzerland http://dflow .inf.usi.ch
Dec 23, 2014
Visualizing the Workflow of Developers
Roberto Minelli and Michele Lanza
REVEAL @ Faculty of InformaticsUniversity of Lugano, Switzerland
http://dflow.inf.usi.ch
Developers spend a large part of their working time using an Integrated Development Environment
Writing
Writing
Navigating
Writing
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
Writing
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 IDED. 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 method9 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 method9 types of Editing
18 types of Inspection
6 types of Navigation
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’snext?
Refine the current visualizations
and devise new views
Devise a paern language from the visualizations
Evaluate our visualizations(user study)
What’snext?
Writing
Navig
ating
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)
Writing
Navig
ating
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)