dflow - a platform to profile developers

Post on 20-May-2015

795 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

DFlow - A Platform to Profile Developers Roberto Minelli and Michele Lanza REVEAL @ Faculty of Informatics University of Lugano, Switzerland http://dflow.inf.usi.ch

TRANSCRIPT

DFlow – A Platform to Profile Developers

Roberto Minelli and Michele Lanza

REVEAL @ Faculty of InformaticsUniversity of Lugano, Switzerland

http://dflow.inf.usi.ch SmalltalkHub.com: DevFlow

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

Integrated Development Environment

Eclipse

Visual Studio

Idea

NetBeansXCode

Pharo

Squeak

Dolphin

VisualWorks

VA Smalltalk

Pharo Smalltalk IDE

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-interestmodel for IDEs” AOSD 2005

Y. Lee, N. Chen, R. Johnson“Drag-and-drop refactoring: intuitive and efficient program transformation” ICSE 2013 “The current support for refactoring

is unintuitive and inefficient.”

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.

J. Singer, R. Elves, and M. Storey“Navtracks: supporting navigation in soware maintenance” ICSM 2005

M. Kersten, G. C. Murphy“Mylar: a degree-of-interest model for IDEs” AOSD 2005

Researchers proposed various approaches to beer support browsing through soware.

To what extent does Pharo support the navigation?

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

Navigating source codewith the IDE

DFlow-Web

DFlow-Pharo

DFlowA Platform to Profile Developers

It silently records all the Pharo interactions while the developer is programming.

It enables retrospective analyses through a web-based soware visualization platform.

DFlow-Pharo: An Extension to the Pharo IDE

Standard Tools

ManagerBrowser

It’s demo time!

DFlowPHARO

Event

Entities

Type

Timing information

Event

Entities

Type

Timing information

Navigation

Inspection

Editing

Handling

Event

Entities

Type

Timing information Timestamp and duration.

Event

Entities

Type

Timing information

…the user interacted with

A. Bergel, Bañados, Robbes, Röthlisberger“SPY: A Flexible Code Profiling Framework”Computer Languages, Systems and Structures 2012

Code Instrumentation

Custom-made Profilers

How do we profile the developer?

What to do with this

large amount of data?

It’s demo time!

R. Minelli and M. Lanza“Visualizing the Workflow of Developers.”VISSOFT 2013

DFlow

All navigation events and one single editing

A debugging session…

1

2

Green navigation stacks (browsing the API of a class)

2

Back edges increase the cognitive weight of a session.

2

What’snext?

• Understand and characterize development sessions

• Identify development workflow bolenecks in terms of IDE usage

Reverse

Forward

• Use DFlow data in a run-time context to enhance the IDE

Forward

1

DFlow

Forward

Adding a DFlow group

1

Forward

Into2

Over Through

Forward

Into Over Through

Into

2

Forward

Through

Into

Into Over

Over

2

Forward

Through

Into

Into Over

Over

Over

2

ForwardInto

Over

Over

Into Over Through

Into

2

ForwardInto

Over

Over

Into Over Through

Into

Into

2

Forward

Into Over Through

Into

Over

Over

Into

Into

#inspect

2

suggest

DFlowREC

Forward

Into

Over

Over

Into

Into

#inspect

…next time

DFlowdata context+

2

Forward

Adding live visualizations

3

Forward

You worked here…

…here…

…and also here!

3

Writing

Navig

ating

To what extent does Pharo support the navigation?

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

Navigating source codewith the IDE

• Understand and characterize development sessions

• Identify development workflow bolenecks in terms of IDE usage

Reverse

Forward

• Use DFlow data in a run-time context to enhance the IDE

It’s demo time!

DFlow

Any other idea?Talk to me (or drop me an email)

robertominelliroberto.minelli@usi.ch

top related