DFlow - A Platform to Profile Developers

  • 751 views
Uploaded on

DFlow - A Platform to Profile Developers …

DFlow - A Platform to Profile Developers

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

http://dflow.inf.usi.ch

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
751
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. Developers spend a large part of their working time using an Integrated Development Environment
  • 3. Integrated Development Environment Eclipse Visual Studio Idea NetBeansXCode
  • 4. Pharo Squeak Dolphin VisualWorks VA Smalltalk
  • 5. Pharo Smalltalk IDE
  • 6. W riting
  • 7. W riting Navigating
  • 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. 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. 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. 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. DFlow-Pharo: An Extension to the Pharo IDE Standard Tools Manager Browser
  • 13. It’s demo time! DFlow PHARO
  • 14. Event Entities Type Timing information
  • 15. Event Entities Type Timing information Navigation Inspection Editing Handling
  • 16. Event Entities Type Timing information Timestamp and duration.
  • 17. Event Entities Type Timing information …the user interacted with
  • 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. What to do with this large amount of data?
  • 20. It’s demo time! R. Minelli and M. Lanza “Visualizing the Workflow of Developers.” VISSOFT 2013 DFlow
  • 21. All navigation events and one single editing A debugging session… 1
  • 22. 2
  • 23. Green navigation stacks (browsing the API of a class) 2
  • 24. Back edges increase the cognitive weight of a session. 2
  • 25. What’s next?
  • 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. Forward 1
  • 28. DFlow Forward Adding a DFlow group 1
  • 29. Forward Into 2 Over Through
  • 30. Forward Into Over Through Into 2
  • 31. Forward Through Into Into Over Over 2
  • 32. Forward Through Into Into Over Over Over 2
  • 33. Forward Into Over Over Into Over Through Into 2
  • 34. Forward Into Over Over Into Over Through Into Into 2
  • 35. Forward Into Over Through Into Over Over Into Into #inspect 2
  • 36. suggest DFlow REC Forward Into Over Over Into Into #inspect …next time DFlow data context+ 2
  • 37. Forward Adding live visualizations 3
  • 38. Forward You worked here… …here… …and also here! 3
  • 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. Any other idea? Talk to me (or drop me an email) robertominelli roberto.minelli@usi.ch