DFlow - A Platform to Profile Developers

920
-1

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
920
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.

×