Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Visualizing the Workflow of Developers [VISSOFT2013]

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)

  • Login to see the comments

Visualizing the Workflow of Developers [VISSOFT2013]

  1. 1. Visualizing the Workflow of Developers Roberto Minelli and Michele Lanza REVEAL @ Faculty of Informatics University of Lugano, Switzerland http://dflow.inf.usi.ch
  2. 2. Developers spend a large part of their working time using an Integrated Development Environment
  3. 3. W riting
  4. 4. W riting Navigating
  5. 5. 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
  6. 6. W riting 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
  7. 7. Window-based IDE Tabs-based IDE 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.
  8. 8. 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
  9. 9. How, when, why do developers use the IDE to navigate the system? To what extent does the IDE support the navigation? DFlow
  10. 10. DFlow
  11. 11. DFlow WEB Enables retrospective analyses through a web- based visual platform. IDE Records all the IDE interactions while the developer program.
  12. 12. 9 types of Editing 18 types of Inspection 6 types of Navigation
  13. 13. Browsing a class or a method Stepping in a debugger or inspecting the internals of an object Adding or removing a class or a method
  14. 14. Browsing a class or a method Stepping in a debugger or inspecting the internals of an object Adding or removing a class or a method DFlow Data +20 Sessions 9,521 Events 7,367 Navigation Events 221 Inspecting events 1,933 Editing events
  15. 15. What to do with this large amount of data?
  16. 16. Compress Structure Present
  17. 17. DEMO DFlow
  18. 18. Insights Visualizations
  19. 19. All navigation events and one single editing A debugging session
  20. 20. Green navigation stacks (browsing the API of a class)
  21. 21. Back edge means that she uses what she discovered in a different context
  22. 22. What’s next?
  23. 23. Refine the current visualizations and devise new views Devise a paern language from the visualizations Evaluate our visualizations (user study) What’s next?
  24. 24. W riting Navigating 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)
  25. 25. W riting Navigating 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) robertominelli roberto.minelli@usi.ch

×