Most development activities, like program understanding, source code navigation and editing, are supported by Integrated Development Environments (IDEs). They provide different tools and user interfaces (UI) to interact with the source code, such as browsers, debuggers, and inspectors. It is uncertain how and when programmers use different UI elements of an IDE and to what extent they appropriately support development.
Previously we developed DFLOW, a tool that seamlessly records and processes interaction data. Our long-term goal is to assess to what extent the UIs of IDEs support the workflow of developers and whether they can be improved. As a first step we present our approach to analyze development sessions in the form of visual storytelling. We illustrate our initial catalogue of visualizations through two development stories.
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
Visual Storytelling of Development Sessions [ICSME2014]
1. Visual Storytelling
of Development Sessions
Roberto Minelli, Lorenzo Baracchi, Andrea Mocci, and Michele Lanza
REVEAL @ Faculty of Informatics, University of Lugano, Switzerland
@robertominelli
4. Opening a code browser
Inspecting an object at run-time
Editing a method
Opening & closing a window
Popping up a refactoring menu
Adding a class
Removing a method
Removing a class
IDE
Interaction
Data
13. User Interface
Development Activities
category Pill
Class Blue Class Red
foo bar baz
category X
Class Y
m1 m2 m3
0
300
600
1680
900
1200
360
Catalog of Views
0 10 20 30 40 50 55
Structure Sequence and Impact of Activities
14. User Interface
Development Activities
category Pill
Class Blue Class Red
foo bar baz
category X
Class Y
m1 m2 m3
10:20 20:12
3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 56:33
0
300
600
1680
900
1200
360
Catalog of Views
0 10 20 30 40 50 55
Structure Sequence and Impact of Activities
Development Flow across UIs
15. User Interface
Development Activities
category Pill
Class Blue Class Red
foo bar baz
category X
Class Y
m1 m2 m3
10:20 20:12
3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 56:33
0
300
600
1680
900
1200
360
Catalog of Views
0 10 20 30 40 50 55
Structure Sequence and Impact of Activities
Development Flow across UIs IDE Evolution
16. Activity Forest
Navigation Inspection Understanding Edit
category Pill
Class Blue Class Red
foo bar baz
category X
Class Y
m1 m2 m3
Roots
Packages
Level 1
Classes
Level 2
Methods
17. Activity Forest
Navigation Inspection Understanding Edit
category Pill
Class Blue Class Red
foo bar baz
category X
Class Y
m1 m2 m3
Roots
Packages
Level 1
Classes
Level 2
Methods
time
Size of the change
(edit-only)
Duration
19. Cumulative Activity View
0
duration of understanding
300
600
1680
duration of editing
duration of inspection
duration of navigation
900
1200
360
Navigation Inspection Understanding Edit
5 10 15 20 25 30
20. User Interface (UI) View
10:20 20:12
3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 56:33
Open Activate Resize/move Close Minimize / Expand
21. User Interface (UI) View
Open Activate Resize/move Close Minimize / Expand
10:20 20:12
3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 56:33
22. User Interface (UI) View
Open Activate Resize/move Close Minimize / Expand
Main
10:20 20:12
3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 56:33
23. User Interface (UI) View
Open Activate Resize/move Close Minimize / Expand
Main
Short
10:20 20:12
3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 56:33
24. User Interface (UI) View
Open Activate Resize/move Close Minimize / Expand
Main
Short
Windows
Interactions
10:20 20:12
3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 56:33
25. User Interface (UI) View
Open Activate Resize/move Close Minimize / Expand
Main
Short
Windows
Interactions
Edit event
10:20 20:12
3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 56:33
27. User Interface
Development Activities
category Pill
Class Blue Class Red
foo bar baz
category X
Class Y
m1 m2 m3
10:20 20:12
3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 56:33
0
300
600
1680
900
1200
360
Catalog of Views
0 10 20 30 40 50 55
Structure Sequence and Impact of Activities
Development Flow across UIs IDE Evolution