DFlow – A Platform to Profile Developers
Roberto Minelli and Michele Lanza
REVEAL @ Faculty of Informatics
University of L...
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
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
“My...
Y. Lee, N. Chen, R. Johnson
“Drag-and-drop refactoring: intuitive and
efficient program transformation” ICSE 2013 “The curr...
To what extent does Pharo
support the navigation?
How, when, why do
developers use Pharo to
navigate the system?
Navigatin...
DFlow-Web
DFlow-Pharo
DFlow
A Platform to Profile Developers
It silently records all the Pharo interactions
while the deve...
DFlow-Pharo: An Extension to the Pharo IDE
Standard Tools
Manager
Browser
It’s demo time!
DFlow
PHARO
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 Struc...
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’s
next?
• Understand and
characterize
development sessions
• Identify development
workflow bolenecks
in terms of IDE usage
Revers...
Forward
1
DFlow
Forward
Adding a DFlow group
1
Forward
Into
2
Over Through
Forward
Into Over Through
Into
2
Forward
Through
Into
Into Over
Over
2
Forward
Through
Into
Into Over
Over
Over
2
Forward
Into
Over
Over
Into Over Through
Into
2
Forward
Into
Over
Over
Into Over Through
Into
Into
2
Forward
Into Over Through
Into
Over
Over
Into
Into
#inspect
2
suggest
DFlow
REC
Forward
Into
Over
Over
Into
Into
#inspect
…next time
DFlow
data
context+
2
Forward
Adding live visualizations
3
Forward
You worked here…
…here…
…and also here!
3
W
riting
Navigating
To what extent does Pharo
support the navigation?
How, when, why do
developers use Pharo to
navigate t...
Any other idea?
Talk to me (or drop me an email)
robertominelli
roberto.minelli@usi.ch
DFlow - A Platform to Profile Developers
Upcoming SlideShare
Loading in...5
×

DFlow - A Platform to Profile Developers

827

Published on

DFlow - A Platform to Profile Developers

Roberto Minelli and Michele Lanza REVEAL @ Faculty of Informatics
University of Lugano, Switzerland

http://dflow.inf.usi.ch

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
827
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

DFlow - A Platform to Profile Developers

  1. 1. DFlow – A Platform to Profile Developers Roberto Minelli and Michele Lanza REVEAL @ Faculty of Informatics University of Lugano, Switzerland http://dflow.inf.usi.ch SmalltalkHub.com: DevFlow
  2. 2. Developers spend a large part of their working time using an Integrated Development Environment
  3. 3. Integrated Development Environment Eclipse Visual Studio Idea NetBeansXCode
  4. 4. Pharo Squeak Dolphin VisualWorks VA Smalltalk
  5. 5. Pharo Smalltalk IDE
  6. 6. W riting
  7. 7. W riting Navigating
  8. 8. 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
  9. 9. 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 soware maintenance” ICSM 2005 M. Kersten, G. C. Murphy “Mylar: a degree-of-interest model for IDEs” AOSD 2005 Researchers proposed various approaches to beer support browsing through soware.
  10. 10. To what extent does Pharo support the navigation? How, when, why do developers use Pharo to navigate the system? Navigating source code with the IDE
  11. 11. DFlow-Web DFlow-Pharo DFlow A Platform to Profile Developers It silently records all the Pharo interactions while the developer is programming. It enables retrospective analyses through a web-based soware visualization platform.
  12. 12. DFlow-Pharo: An Extension to the Pharo IDE Standard Tools Manager Browser
  13. 13. It’s demo time! DFlow PHARO
  14. 14. Event Entities Type Timing information
  15. 15. Event Entities Type Timing information Navigation Inspection Editing Handling
  16. 16. Event Entities Type Timing information Timestamp and duration.
  17. 17. Event Entities Type Timing information …the user interacted with
  18. 18. 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?
  19. 19. What to do with this large amount of data?
  20. 20. It’s demo time! R. Minelli and M. Lanza “Visualizing the Workflow of Developers.” VISSOFT 2013 DFlow
  21. 21. All navigation events and one single editing A debugging session… 1
  22. 22. 2
  23. 23. Green navigation stacks (browsing the API of a class) 2
  24. 24. Back edges increase the cognitive weight of a session. 2
  25. 25. What’s next?
  26. 26. • Understand and characterize development sessions • Identify development workflow bolenecks in terms of IDE usage Reverse Forward • Use DFlow data in a run-time context to enhance the IDE
  27. 27. Forward 1
  28. 28. DFlow Forward Adding a DFlow group 1
  29. 29. Forward Into 2 Over Through
  30. 30. Forward Into Over Through Into 2
  31. 31. Forward Through Into Into Over Over 2
  32. 32. Forward Through Into Into Over Over Over 2
  33. 33. Forward Into Over Over Into Over Through Into 2
  34. 34. Forward Into Over Over Into Over Through Into Into 2
  35. 35. Forward Into Over Through Into Over Over Into Into #inspect 2
  36. 36. suggest DFlow REC Forward Into Over Over Into Into #inspect …next time DFlow data context+ 2
  37. 37. Forward Adding live visualizations 3
  38. 38. Forward You worked here… …here… …and also here! 3
  39. 39. W riting Navigating To what extent does Pharo support the navigation? How, when, why do developers use Pharo to navigate the system? Navigating source code with the IDE • Understand and characterize development sessions • Identify development workflow bolenecks in terms of IDE usage Reverse Forward • Use DFlow data in a run-time context to enhance the IDE It’s demo time! DFlow
  40. 40. Any other idea? Talk to me (or drop me an email) robertominelli roberto.minelli@usi.ch
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×