DFlow - A Platform to Profile Developers
Upcoming SlideShare
Loading in...5
×
 

DFlow - A Platform to Profile Developers

on

  • 1,006 views

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

Statistics

Views

Total Views
1,006
Views on SlideShare
1,006
Embed Views
0

Actions

Likes
2
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

DFlow - A Platform to Profile Developers DFlow - A Platform to Profile Developers Presentation Transcript

  • 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
  • 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 “Mylar: a degree-of-interest model 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 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.
  • 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
  • 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.
  • 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 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’s next?
  • • 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
  • 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 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
  • Any other idea? Talk to me (or drop me an email) robertominelli roberto.minelli@usi.ch