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

DFlow - A Platform to Profile Developers

on

  • 946 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
946
Views on SlideShare
946
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