27
Visualizing the Workflow of Developers Roberto Minelli and Michele Lanza REVEAL @ Faculty of Informatics University of Lugano, Switzerland http://dflow .inf.usi.ch

[VISSOFT2013] Visualizing the Workflow of Developers

Embed Size (px)

DESCRIPTION

We present an approach to visualize the activities of developers within the IDE, implemented in a tool: DFlow. DFlow records all IDE interactions that occur during a development session and visualizes them through a web-based visualization platform. Slides used at VISSOFT 2013 (http://icsm2013.tue.nl/VISSOFT)

Citation preview

Page 1: [VISSOFT2013] Visualizing the Workflow of Developers

Visualizing the Workflow of Developers

Roberto Minelli and Michele Lanza

REVEAL @ Faculty of InformaticsUniversity of Lugano, Switzerland

http://dflow.inf.usi.ch

Page 2: [VISSOFT2013] Visualizing the Workflow of Developers

Developers spend a large part of their working time using an Integrated Development Environment

Page 3: [VISSOFT2013] Visualizing the Workflow of Developers
Page 4: [VISSOFT2013] Visualizing the Workflow of Developers

Writing

Page 5: [VISSOFT2013] Visualizing the Workflow of Developers

Writing

Navigating

Page 6: [VISSOFT2013] Visualizing the Workflow of Developers

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

Page 7: [VISSOFT2013] Visualizing the Workflow of Developers

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

Page 8: [VISSOFT2013] Visualizing the Workflow of Developers

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.

Page 9: [VISSOFT2013] Visualizing the Workflow of Developers

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

Page 10: [VISSOFT2013] Visualizing the Workflow of Developers

How, when, why do developers use the IDE to navigate the system?

To what extent does the IDE support the navigation?

DFlow

Page 11: [VISSOFT2013] Visualizing the Workflow of Developers

DFlow

Page 12: [VISSOFT2013] Visualizing the Workflow of Developers

DFlow

WEB

Enables retrospective analyses through a web-based visual platform.

IDE

Records all the IDE interactions while the

developer program.

Page 13: [VISSOFT2013] Visualizing the Workflow of Developers

9 types of Editing

18 types of Inspection

6 types of Navigation

Page 14: [VISSOFT2013] Visualizing the Workflow of Developers

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

Page 15: [VISSOFT2013] Visualizing the Workflow of Developers

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

Page 16: [VISSOFT2013] Visualizing the Workflow of Developers

What to do with this

large amount of data?

Page 17: [VISSOFT2013] Visualizing the Workflow of Developers

Compress Structure Present

Page 18: [VISSOFT2013] Visualizing the Workflow of Developers

DEMO

DFlow

Page 19: [VISSOFT2013] Visualizing the Workflow of Developers

Insights

Visualizations

Page 20: [VISSOFT2013] Visualizing the Workflow of Developers

All navigation events and one single editing

A debugging session

Page 21: [VISSOFT2013] Visualizing the Workflow of Developers
Page 22: [VISSOFT2013] Visualizing the Workflow of Developers

Green navigation stacks (browsing the API of a class)

Page 23: [VISSOFT2013] Visualizing the Workflow of Developers

Back edge means that she uses what she discovered in a different context

Page 24: [VISSOFT2013] Visualizing the Workflow of Developers

What’snext?

Page 25: [VISSOFT2013] Visualizing the Workflow of Developers

Refine the current visualizations

and devise new views

Devise a paern language from the visualizations

Evaluate our visualizations(user study)

What’snext?

Page 26: [VISSOFT2013] Visualizing the Workflow of Developers

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)

Page 27: [VISSOFT2013] Visualizing the Workflow of Developers

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)

[email protected]